diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e257fb992..9e70ba29f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -90,10 +90,11 @@ ### Testing These tests are run by the '"Core" Java' test suite, and so are also run with `./gradlew test`. - - In-game (`./src/test/java/dan200/computercraft/ingame/`): These tests are run on an actual Minecraft server, using - [the same system Mojang do][mc-test]. The aim of these is to test in-game behaviour of blocks and peripherals. + - In-game (`./src/testMod/java/dan200/computercraft/ingame/`): These tests are run on an actual Minecraft server and client, + using [the same system Mojang do][mc-test]. The aim of these is to test in-game behaviour of blocks and peripherals. - These are run by `./gradlew testInGame`. + These are run by `./gradlew testClient` and `./gradlew testServer`. You may want to run the client under `xvfb-run` + or similar when running in a headless environment. ## CraftOS tests CraftOS's tests are written using a test system called "mcfly", heavily inspired by [busted] (and thus RSpec). Groups of diff --git a/src/generated/resources/assets/computercraft/blockstates/speaker.json b/src/generated/resources/assets/computercraft/blockstates/speaker.json new file mode 100644 index 000000000..a5e90eb45 --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/speaker.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "computercraft:block/speaker" + }, + "facing=south": { + "model": "computercraft:block/speaker", + "y": 180 + }, + "facing=west": { + "model": "computercraft:block/speaker", + "y": 270 + }, + "facing=east": { + "model": "computercraft:block/speaker", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/blockstates/turtle_advanced.json b/src/generated/resources/assets/computercraft/blockstates/turtle_advanced.json new file mode 100644 index 000000000..44edcb1ed --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/turtle_advanced.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "computercraft:block/turtle_advanced" + }, + "facing=south": { + "model": "computercraft:block/turtle_advanced", + "y": 180 + }, + "facing=west": { + "model": "computercraft:block/turtle_advanced", + "y": 270 + }, + "facing=east": { + "model": "computercraft:block/turtle_advanced", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/blockstates/turtle_normal.json b/src/generated/resources/assets/computercraft/blockstates/turtle_normal.json new file mode 100644 index 000000000..81aa4fd3e --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/turtle_normal.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=north": { + "model": "computercraft:block/turtle_normal" + }, + "facing=south": { + "model": "computercraft:block/turtle_normal", + "y": 180 + }, + "facing=west": { + "model": "computercraft:block/turtle_normal", + "y": 270 + }, + "facing=east": { + "model": "computercraft:block/turtle_normal", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/blockstates/wired_modem_full.json b/src/generated/resources/assets/computercraft/blockstates/wired_modem_full.json new file mode 100644 index 000000000..7c6b1da16 --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/wired_modem_full.json @@ -0,0 +1,16 @@ +{ + "variants": { + "modem=false,peripheral=false": { + "model": "computercraft:block/wired_modem_full_off" + }, + "modem=true,peripheral=false": { + "model": "computercraft:block/wired_modem_full_on" + }, + "modem=false,peripheral=true": { + "model": "computercraft:block/wired_modem_full_off_peripheral" + }, + "modem=true,peripheral=true": { + "model": "computercraft:block/wired_modem_full_on_peripheral" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/blockstates/wireless_modem_advanced.json b/src/generated/resources/assets/computercraft/blockstates/wireless_modem_advanced.json new file mode 100644 index 000000000..926c4bc53 --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/wireless_modem_advanced.json @@ -0,0 +1,54 @@ +{ + "variants": { + "facing=down,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off", + "x": 90, + "y": 90 + }, + "facing=up,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off", + "x": 270, + "y": 90 + }, + "facing=north,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off" + }, + "facing=south,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off", + "y": 180 + }, + "facing=west,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off", + "y": 270 + }, + "facing=east,on=false": { + "model": "computercraft:block/wireless_modem_advanced_off", + "y": 90 + }, + "facing=down,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on", + "x": 90, + "y": 90 + }, + "facing=up,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on", + "x": 270, + "y": 90 + }, + "facing=north,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on" + }, + "facing=south,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on", + "y": 180 + }, + "facing=west,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on", + "y": 270 + }, + "facing=east,on=true": { + "model": "computercraft:block/wireless_modem_advanced_on", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/blockstates/wireless_modem_normal.json b/src/generated/resources/assets/computercraft/blockstates/wireless_modem_normal.json new file mode 100644 index 000000000..2d53b1085 --- /dev/null +++ b/src/generated/resources/assets/computercraft/blockstates/wireless_modem_normal.json @@ -0,0 +1,54 @@ +{ + "variants": { + "facing=down,on=false": { + "model": "computercraft:block/wireless_modem_normal_off", + "x": 90, + "y": 90 + }, + "facing=up,on=false": { + "model": "computercraft:block/wireless_modem_normal_off", + "x": 270, + "y": 90 + }, + "facing=north,on=false": { + "model": "computercraft:block/wireless_modem_normal_off" + }, + "facing=south,on=false": { + "model": "computercraft:block/wireless_modem_normal_off", + "y": 180 + }, + "facing=west,on=false": { + "model": "computercraft:block/wireless_modem_normal_off", + "y": 270 + }, + "facing=east,on=false": { + "model": "computercraft:block/wireless_modem_normal_off", + "y": 90 + }, + "facing=down,on=true": { + "model": "computercraft:block/wireless_modem_normal_on", + "x": 90, + "y": 90 + }, + "facing=up,on=true": { + "model": "computercraft:block/wireless_modem_normal_on", + "x": 270, + "y": 90 + }, + "facing=north,on=true": { + "model": "computercraft:block/wireless_modem_normal_on" + }, + "facing=south,on=true": { + "model": "computercraft:block/wireless_modem_normal_on", + "y": 180 + }, + "facing=west,on=true": { + "model": "computercraft:block/wireless_modem_normal_on", + "y": 270 + }, + "facing=east,on=true": { + "model": "computercraft:block/wireless_modem_normal_on", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_advanced_blinking.json b/src/generated/resources/assets/computercraft/models/block/computer_advanced_blinking.json index 25965f980..36fcd2c1f 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_advanced_blinking.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_advanced_blinking.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_advanced_top", "side": "computercraft:block/computer_advanced_side", - "front": "computercraft:block/computer_advanced_front_blink" + "front": "computercraft:block/computer_advanced_front_blink", + "top": "computercraft:block/computer_advanced_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_advanced_off.json b/src/generated/resources/assets/computercraft/models/block/computer_advanced_off.json index 264f6932e..ea9eebc1a 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_advanced_off.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_advanced_off.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_advanced_top", "side": "computercraft:block/computer_advanced_side", - "front": "computercraft:block/computer_advanced_front" + "front": "computercraft:block/computer_advanced_front", + "top": "computercraft:block/computer_advanced_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_advanced_on.json b/src/generated/resources/assets/computercraft/models/block/computer_advanced_on.json index 1a088dadc..a422fab7f 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_advanced_on.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_advanced_on.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_advanced_top", "side": "computercraft:block/computer_advanced_side", - "front": "computercraft:block/computer_advanced_front_on" + "front": "computercraft:block/computer_advanced_front_on", + "top": "computercraft:block/computer_advanced_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_command_blinking.json b/src/generated/resources/assets/computercraft/models/block/computer_command_blinking.json index 4ad39b620..519ced852 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_command_blinking.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_command_blinking.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_command_top", "side": "computercraft:block/computer_command_side", - "front": "computercraft:block/computer_command_front_blink" + "front": "computercraft:block/computer_command_front_blink", + "top": "computercraft:block/computer_command_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_command_off.json b/src/generated/resources/assets/computercraft/models/block/computer_command_off.json index 9223552ef..e4ab0b813 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_command_off.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_command_off.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_command_top", "side": "computercraft:block/computer_command_side", - "front": "computercraft:block/computer_command_front" + "front": "computercraft:block/computer_command_front", + "top": "computercraft:block/computer_command_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_command_on.json b/src/generated/resources/assets/computercraft/models/block/computer_command_on.json index 635df67ee..d1b3911b0 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_command_on.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_command_on.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_command_top", "side": "computercraft:block/computer_command_side", - "front": "computercraft:block/computer_command_front_on" + "front": "computercraft:block/computer_command_front_on", + "top": "computercraft:block/computer_command_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_normal_blinking.json b/src/generated/resources/assets/computercraft/models/block/computer_normal_blinking.json index fb01777c4..2fc2a5c91 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_normal_blinking.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_normal_blinking.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_normal_top", "side": "computercraft:block/computer_normal_side", - "front": "computercraft:block/computer_normal_front_blink" + "front": "computercraft:block/computer_normal_front_blink", + "top": "computercraft:block/computer_normal_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_normal_off.json b/src/generated/resources/assets/computercraft/models/block/computer_normal_off.json index 08288705e..0d1fac6c4 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_normal_off.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_normal_off.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_normal_top", "side": "computercraft:block/computer_normal_side", - "front": "computercraft:block/computer_normal_front" + "front": "computercraft:block/computer_normal_front", + "top": "computercraft:block/computer_normal_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/computer_normal_on.json b/src/generated/resources/assets/computercraft/models/block/computer_normal_on.json index f5ca31116..fbb5c2369 100644 --- a/src/generated/resources/assets/computercraft/models/block/computer_normal_on.json +++ b/src/generated/resources/assets/computercraft/models/block/computer_normal_on.json @@ -1,8 +1,8 @@ { - "parent": "block/orientable", + "parent": "minecraft:block/orientable", "textures": { - "top": "computercraft:block/computer_normal_top", "side": "computercraft:block/computer_normal_side", - "front": "computercraft:block/computer_normal_front_on" + "front": "computercraft:block/computer_normal_front_on", + "top": "computercraft:block/computer_normal_top" } } \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/monitor_advanced_item.json b/src/generated/resources/assets/computercraft/models/block/monitor_advanced_item.json new file mode 100644 index 000000000..e08a04610 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/monitor_advanced_item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/orientable", + "textures": { + "side": "computercraft:block/monitor_advanced_4", + "front": "computercraft:block/monitor_advanced_15", + "top": "computercraft:block/monitor_advanced_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/monitor_normal_item.json b/src/generated/resources/assets/computercraft/models/block/monitor_normal_item.json new file mode 100644 index 000000000..4834ae77f --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/monitor_normal_item.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/orientable", + "textures": { + "side": "computercraft:block/monitor_normal_4", + "front": "computercraft:block/monitor_normal_15", + "top": "computercraft:block/monitor_normal_0" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/speaker.json b/src/generated/resources/assets/computercraft/models/block/speaker.json new file mode 100644 index 000000000..56e6b6009 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/speaker.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/orientable", + "textures": { + "side": "computercraft:block/speaker_side", + "front": "computercraft:block/speaker_front", + "top": "computercraft:block/speaker_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/turtle_advanced.json b/src/generated/resources/assets/computercraft/models/block/turtle_advanced.json new file mode 100644 index 000000000..4345893ff --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/turtle_advanced.json @@ -0,0 +1,4 @@ +{ + "loader": "computercraft:turtle", + "model": "computercraft:block/turtle_advanced_base" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/turtle_advanced_base.json b/src/generated/resources/assets/computercraft/models/block/turtle_advanced_base.json new file mode 100644 index 000000000..3887953c4 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/turtle_advanced_base.json @@ -0,0 +1,6 @@ +{ + "parent": "computercraft:block/turtle_base", + "textures": { + "texture": "computercraft:block/turtle_advanced" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/turtle_normal.json b/src/generated/resources/assets/computercraft/models/block/turtle_normal.json new file mode 100644 index 000000000..19acf6977 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/turtle_normal.json @@ -0,0 +1,4 @@ +{ + "loader": "computercraft:turtle", + "model": "computercraft:block/turtle_normal_base" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/turtle_normal_base.json b/src/generated/resources/assets/computercraft/models/block/turtle_normal_base.json new file mode 100644 index 000000000..667721401 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/turtle_normal_base.json @@ -0,0 +1,6 @@ +{ + "parent": "computercraft:block/turtle_base", + "textures": { + "texture": "computercraft:block/turtle_normal" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off.json new file mode 100644 index 000000000..35bbacc4e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "computercraft:block/wired_modem_face" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json new file mode 100644 index 000000000..6f2d069b2 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "computercraft:block/wired_modem_face_peripheral" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on.json new file mode 100644 index 000000000..67e3c7b5e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "computercraft:block/wired_modem_face_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json new file mode 100644 index 000000000..6dff54d30 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "computercraft:block/wired_modem_face_peripheral_on" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_off.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_off.json new file mode 100644 index 000000000..b629be888 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_off.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wired_modem_face", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json new file mode 100644 index 000000000..7fea9f091 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wired_modem_face_peripheral", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_on.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_on.json new file mode 100644 index 000000000..93a8d9fc0 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_on.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wired_modem_face_on", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json b/src/generated/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json new file mode 100644 index 000000000..32cf21f24 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wired_modem_face_peripheral_on", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json b/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json new file mode 100644 index 000000000..5bac5468e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wireless_modem_advanced_face", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json b/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json new file mode 100644 index 000000000..c57b07dd9 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wireless_modem_advanced_face_on", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_off.json b/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_off.json new file mode 100644 index 000000000..793df335a --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_off.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wireless_modem_normal_face", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_on.json b/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_on.json new file mode 100644 index 000000000..5bc2e8e35 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/block/wireless_modem_normal_on.json @@ -0,0 +1,7 @@ +{ + "parent": "computercraft:block/modem", + "textures": { + "front": "computercraft:block/wireless_modem_normal_face_on", + "back": "computercraft:block/modem_back" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/computer_advanced.json b/src/generated/resources/assets/computercraft/models/item/computer_advanced.json new file mode 100644 index 000000000..a22f16b21 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/computer_advanced.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/computer_advanced_blinking" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/computer_command.json b/src/generated/resources/assets/computercraft/models/item/computer_command.json new file mode 100644 index 000000000..b1e795493 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/computer_command.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/computer_command_blinking" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/computer_normal.json b/src/generated/resources/assets/computercraft/models/item/computer_normal.json new file mode 100644 index 000000000..11327e98e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/computer_normal.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/computer_normal_blinking" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/monitor_advanced.json b/src/generated/resources/assets/computercraft/models/item/monitor_advanced.json new file mode 100644 index 000000000..62080d5e9 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/monitor_advanced.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/monitor_advanced_item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/monitor_normal.json b/src/generated/resources/assets/computercraft/models/item/monitor_normal.json new file mode 100644 index 000000000..62f812992 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/monitor_normal.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/monitor_normal_item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/speaker.json b/src/generated/resources/assets/computercraft/models/item/speaker.json new file mode 100644 index 000000000..b1512e00a --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/speaker.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/speaker" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/turtle_advanced.json b/src/generated/resources/assets/computercraft/models/item/turtle_advanced.json new file mode 100644 index 000000000..f0022f574 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/turtle_advanced.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/turtle_advanced" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/turtle_normal.json b/src/generated/resources/assets/computercraft/models/item/turtle_normal.json new file mode 100644 index 000000000..93e148af2 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/turtle_normal.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/turtle_normal" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/wired_modem.json b/src/generated/resources/assets/computercraft/models/item/wired_modem.json new file mode 100644 index 000000000..aba155aab --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/wired_modem.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/wired_modem_off" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/wired_modem_full.json b/src/generated/resources/assets/computercraft/models/item/wired_modem_full.json new file mode 100644 index 000000000..339d9842e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/wired_modem_full.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/wired_modem_full_off" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/wireless_modem_advanced.json b/src/generated/resources/assets/computercraft/models/item/wireless_modem_advanced.json new file mode 100644 index 000000000..4398d6086 --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/wireless_modem_advanced.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/wireless_modem_advanced_off" +} \ No newline at end of file diff --git a/src/generated/resources/assets/computercraft/models/item/wireless_modem_normal.json b/src/generated/resources/assets/computercraft/models/item/wireless_modem_normal.json new file mode 100644 index 000000000..970e4be3e --- /dev/null +++ b/src/generated/resources/assets/computercraft/models/item/wireless_modem_normal.json @@ -0,0 +1,3 @@ +{ + "parent": "computercraft:block/wireless_modem_normal_off" +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_book.json b/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_book.json new file mode 100644 index 000000000..d50062021 --- /dev/null +++ b/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_book.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "computercraft:printed_book" + ] + }, + "criteria": { + "has_printer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "computercraft:printer" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "computercraft:printed_book" + } + } + }, + "requirements": [ + [ + "has_printer", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_pages.json b/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_pages.json new file mode 100644 index 000000000..a0ed423b9 --- /dev/null +++ b/src/generated/resources/data/computercraft/advancements/recipes/computercraft/printed_pages.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "computercraft:printed_pages" + ] + }, + "criteria": { + "has_printer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "computercraft:printer" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "computercraft:printed_pages" + } + } + }, + "requirements": [ + [ + "has_printer", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_cloudy.json b/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_cloudy.json new file mode 100644 index 000000000..4cfe9ce78 --- /dev/null +++ b/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_cloudy.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "computercraft:skull_cloudy" + ] + }, + "criteria": { + "has_monitor": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "computercraft:monitor_normal" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "computercraft:skull_cloudy" + } + } + }, + "requirements": [ + [ + "has_monitor", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_dan200.json b/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_dan200.json new file mode 100644 index 000000000..b32051221 --- /dev/null +++ b/src/generated/resources/data/computercraft/advancements/recipes/decorations/skull_dan200.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "computercraft:skull_dan200" + ] + }, + "criteria": { + "has_computer": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "item": "computercraft:computer_advanced" + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "computercraft:skull_dan200" + } + } + }, + "requirements": [ + [ + "has_computer", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/loot_tables/blocks/cable.json b/src/generated/resources/data/computercraft/loot_tables/blocks/cable.json new file mode 100644 index 000000000..4d994baaf --- /dev/null +++ b/src/generated/resources/data/computercraft/loot_tables/blocks/cable.json @@ -0,0 +1,52 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "cable", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "computercraft:cable" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:block_state_property", + "block": "computercraft:cable", + "properties": { + "cable": "true" + } + } + ] + }, + { + "name": "wired_modem", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "computercraft:wired_modem" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:block_state_property", + "block": "computercraft:cable", + "properties": { + "modem": "none" + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/colour.json b/src/generated/resources/data/computercraft/recipes/colour.json new file mode 100644 index 000000000..f8e494be2 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/colour.json @@ -0,0 +1,3 @@ +{ + "type": "computercraft:colour" +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/disk.json b/src/generated/resources/data/computercraft/recipes/disk.json new file mode 100644 index 000000000..32c3a567d --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/disk.json @@ -0,0 +1,3 @@ +{ + "type": "computercraft:disk" +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/pocket_computer_upgrade.json b/src/generated/resources/data/computercraft/recipes/pocket_computer_upgrade.json new file mode 100644 index 000000000..22fdf4c40 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/pocket_computer_upgrade.json @@ -0,0 +1,3 @@ +{ + "type": "computercraft:pocket_computer_upgrade" +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/printed_book.json b/src/generated/resources/data/computercraft/recipes/printed_book.json new file mode 100644 index 000000000..f385a437c --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/printed_book.json @@ -0,0 +1,17 @@ +{ + "type": "computercraft:impostor_shapeless", + "ingredients": [ + { + "tag": "forge:leather" + }, + { + "item": "computercraft:printed_page" + }, + { + "tag": "forge:string" + } + ], + "result": { + "item": "computercraft:printed_book" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/printed_pages.json b/src/generated/resources/data/computercraft/recipes/printed_pages.json new file mode 100644 index 000000000..8f206cbb1 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/printed_pages.json @@ -0,0 +1,17 @@ +{ + "type": "computercraft:impostor_shapeless", + "ingredients": [ + { + "item": "computercraft:printed_page" + }, + { + "item": "computercraft:printed_page" + }, + { + "tag": "forge:string" + } + ], + "result": { + "item": "computercraft:printed_pages" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/printout.json b/src/generated/resources/data/computercraft/recipes/printout.json new file mode 100644 index 000000000..0e1a02157 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/printout.json @@ -0,0 +1,3 @@ +{ + "type": "computercraft:printout" +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/skull_cloudy.json b/src/generated/resources/data/computercraft/recipes/skull_cloudy.json new file mode 100644 index 000000000..6532bd1e9 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/skull_cloudy.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:heads" + }, + { + "item": "computercraft:monitor_normal" + } + ], + "result": { + "item": "minecraft:player_head", + "nbt": "{SkullOwner:{Id:\"6d074736-b1e9-4378-a99b-bd8777821c9c\",Name:\"Cloudhunter\"}}" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/skull_dan200.json b/src/generated/resources/data/computercraft/recipes/skull_dan200.json new file mode 100644 index 000000000..ee70c63ae --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/skull_dan200.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "tag": "forge:heads" + }, + { + "item": "computercraft:computer_advanced" + } + ], + "result": { + "item": "minecraft:player_head", + "nbt": "{SkullOwner:{Id:\"f3c8d69b-0776-4512-8434-d1b2165909eb\",Name:\"dan200\"}}" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/computercraft/recipes/turtle_upgrade.json b/src/generated/resources/data/computercraft/recipes/turtle_upgrade.json new file mode 100644 index 000000000..62e103b60 --- /dev/null +++ b/src/generated/resources/data/computercraft/recipes/turtle_upgrade.json @@ -0,0 +1,3 @@ +{ + "type": "computercraft:turtle_upgrade" +} \ No newline at end of file diff --git a/src/main/java/dan200/computercraft/data/BasicCustomLoader.java b/src/main/java/dan200/computercraft/data/BasicCustomLoader.java new file mode 100644 index 000000000..6316aeeb6 --- /dev/null +++ b/src/main/java/dan200/computercraft/data/BasicCustomLoader.java @@ -0,0 +1,44 @@ +/* + * This file is part of ComputerCraft - http://www.computercraft.info + * Copyright Daniel Ratcliffe, 2011-2021. Do not distribute without permission. + * Send enquiries to dratcliffe@gmail.com + */ +package dan200.computercraft.data; + +import com.google.gson.JsonObject; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.client.model.generators.CustomLoaderBuilder; +import net.minecraftforge.client.model.generators.ModelBuilder; +import net.minecraftforge.common.data.ExistingFileHelper; + +import java.util.function.BiFunction; +import java.util.function.Consumer; + +public class BasicCustomLoader> extends CustomLoaderBuilder +{ + private final Consumer extra; + + protected BasicCustomLoader( ResourceLocation loaderId, T parent, ExistingFileHelper existingFileHelper, Consumer extra ) + { + super( loaderId, parent, existingFileHelper ); + this.extra = extra; + } + + public static > BiFunction> makeFactory( ResourceLocation id ) + { + return makeFactory( id, j -> { } ); + } + + public static > BiFunction> makeFactory( ResourceLocation id, Consumer extra ) + { + return ( parent, x ) -> new BasicCustomLoader<>( id, parent, x, extra ); + } + + @Override + public JsonObject toJson( JsonObject json ) + { + super.toJson( json ); + extra.accept( json ); + return json; + } +} diff --git a/src/main/java/dan200/computercraft/data/BlockModelProvider.java b/src/main/java/dan200/computercraft/data/BlockModelProvider.java index 66a873ee9..2aa75fb20 100644 --- a/src/main/java/dan200/computercraft/data/BlockModelProvider.java +++ b/src/main/java/dan200/computercraft/data/BlockModelProvider.java @@ -9,21 +9,27 @@ import dan200.computercraft.shared.Registry; import dan200.computercraft.shared.computer.blocks.BlockComputer; import dan200.computercraft.shared.computer.core.ComputerState; +import dan200.computercraft.shared.peripheral.modem.wired.BlockWiredModemFull; +import dan200.computercraft.shared.peripheral.modem.wireless.BlockWirelessModem; import dan200.computercraft.shared.peripheral.monitor.BlockMonitor; import dan200.computercraft.shared.peripheral.monitor.MonitorEdgeState; +import dan200.computercraft.shared.turtle.blocks.BlockTurtle; import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; import net.minecraft.util.Direction; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.generators.*; import net.minecraftforge.common.data.ExistingFileHelper; +import net.minecraftforge.registries.IForgeRegistryEntry; import javax.annotation.Nonnull; +import java.util.Objects; public class BlockModelProvider extends BlockStateProvider { private ModelFile monitorBase; - private ModelFile orientable; + private ModelFile turtleBase; + private ModelFile modemBase; public BlockModelProvider( DataGenerator generator, ExistingFileHelper existingFileHelper ) { @@ -41,14 +47,33 @@ public String getName() protected void registerStatesAndModels() { monitorBase = models().getExistingFile( new ResourceLocation( ComputerCraft.MOD_ID, "block/monitor_base" ) ); - orientable = models().getExistingFile( new ResourceLocation( "block/orientable" ) ); - - registerMonitors( Registry.ModBlocks.MONITOR_NORMAL.get() ); - registerMonitors( Registry.ModBlocks.MONITOR_ADVANCED.get() ); + turtleBase = models().getExistingFile( new ResourceLocation( ComputerCraft.MOD_ID, "block/turtle_base" ) ); + modemBase = models().getExistingFile( new ResourceLocation( ComputerCraft.MOD_ID, "block/modem" ) ); registerComputer( Registry.ModBlocks.COMPUTER_NORMAL.get() ); registerComputer( Registry.ModBlocks.COMPUTER_ADVANCED.get() ); registerComputer( Registry.ModBlocks.COMPUTER_COMMAND.get() ); + + registerTurtle( Registry.ModBlocks.TURTLE_NORMAL.get() ); + registerTurtle( Registry.ModBlocks.TURTLE_ADVANCED.get() ); + + registerWirelessModem( Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get() ); + registerWirelessModem( Registry.ModBlocks.WIRELESS_MODEM_ADVANCED.get() ); + + registerWiredModems(); + + registerMonitors( Registry.ModBlocks.MONITOR_NORMAL.get() ); + registerMonitors( Registry.ModBlocks.MONITOR_ADVANCED.get() ); + + // Register the simple things. + ModelFile speaker = models().orientable( + name( Registry.ModBlocks.SPEAKER.get() ), + blockTexture( Registry.ModBlocks.SPEAKER.get(), "_side" ), + blockTexture( Registry.ModBlocks.SPEAKER.get(), "_front" ), + blockTexture( Registry.ModBlocks.SPEAKER.get(), "_top" ) + ); + horizontalBlock( Registry.ModBlocks.SPEAKER.get(), speaker ); + simpleBlockItem( Registry.ModBlocks.SPEAKER.get(), speaker ); } private void registerComputer( BlockComputer block ) @@ -56,12 +81,12 @@ private void registerComputer( BlockComputer block ) VariantBlockStateBuilder builder = getVariantBuilder( block ); for( ComputerState state : BlockComputer.STATE.getPossibleValues() ) { - BlockModelBuilder model = models() - .getBuilder( suffix( block, "_" + state ) ) - .parent( orientable ) - .texture( "top", suffix( block, "_top" ) ) - .texture( "side", suffix( block, "_side" ) ) - .texture( "front", suffix( block, "_front" + toSuffix( state ) ) ); + BlockModelBuilder model = models().orientable( + extendedName( block, "_" + state ), + blockTexture( block, "_side" ), + blockTexture( block, "_front" + state.getTexture() ), + blockTexture( block, "_top" ) + ); for( Direction facing : BlockComputer.FACING.getPossibleValues() ) { @@ -71,33 +96,118 @@ private void registerComputer( BlockComputer block ) .addModels( new ConfiguredModel( model, 0, toYAngle( facing ), false ) ); } } + + simpleBlockItem( block, models().getBuilder( extendedName( block, "_blinking" ) ) ); + } + + private void registerTurtle( BlockTurtle block ) + { + VariantBlockStateBuilder builder = getVariantBuilder( block ); + BlockModelBuilder base = models() + .getBuilder( extendedName( block, "_base" ) ) + .parent( turtleBase ) + .texture( "texture", blockTexture( block ) ); + + BlockModelBuilder model = models() + .getBuilder( name( block ) ) + .customLoader( BasicCustomLoader.makeFactory( new ResourceLocation( ComputerCraft.MOD_ID, "turtle" ), x -> { + x.addProperty( "model", base.getLocation().toString() ); + } ) ) + .end(); + + for( Direction facing : BlockTurtle.FACING.getPossibleValues() ) + { + builder.partialState() + .with( BlockTurtle.FACING, facing ) + .addModels( new ConfiguredModel( model, 0, toYAngle( facing ), false ) ); + } + + simpleBlockItem( block, models().getBuilder( name( block ) ) ); + } + + private void registerWirelessModem( BlockWirelessModem block ) + { + VariantBlockStateBuilder builder = getVariantBuilder( block ); + + for( boolean on : BlockWirelessModem.ON.getPossibleValues() ) + { + ModelFile model = modemModel( extendedName( block, on ? "_on" : "_off" ), blockTexture( block, "_face" + (on ? "_on" : "") ) ); + + for( Direction facing : BlockWirelessModem.FACING.getPossibleValues() ) + { + builder.partialState() + .with( BlockWirelessModem.FACING, facing ) + .with( BlockWirelessModem.ON, on ) + .addModels( new ConfiguredModel( model, toXAngle( facing ), toYAngle( facing ), false ) ); + } + } + + simpleBlockItem( block, models().getBuilder( extendedName( block, "_off" ) ) ); + } + + private void registerWiredModems() + { + Block fullBlock = Registry.ModBlocks.WIRED_MODEM_FULL.get(); + VariantBlockStateBuilder fullBlockState = getVariantBuilder( fullBlock ); + for( boolean on : BlockWiredModemFull.MODEM_ON.getPossibleValues() ) + { + for( boolean peripheral : BlockWiredModemFull.PERIPHERAL_ON.getPossibleValues() ) + { + String suffix = (on ? "_on" : "_off") + (peripheral ? "_peripheral" : ""); + ResourceLocation faceTexture = new ResourceLocation( + ComputerCraft.MOD_ID, + "block/wired_modem_face" + (peripheral ? "_peripheral" : "") + (on ? "_on" : "") + ); + ModelFile fullBlockModel = models().cubeAll( blockTexture( fullBlock, suffix ).toString(), faceTexture ); + fullBlockState.partialState() + .with( BlockWiredModemFull.MODEM_ON, on ) + .with( BlockWiredModemFull.PERIPHERAL_ON, peripheral ) + .addModels( new ConfiguredModel( fullBlockModel ) ); + + modemModel( "wired_modem" + suffix, faceTexture ); + } + } + + simpleBlockItem( fullBlock, models().getBuilder( extendedName( fullBlock, "_off" ) ) ); + itemModels() + .getBuilder( name( Registry.ModItems.WIRED_MODEM.get() ) ) + .parent( models().getBuilder( "wired_modem_off" ) ); + } + + private ModelFile modemModel( String name, ResourceLocation texture ) + { + return models() + .getBuilder( name ) + .parent( modemBase ) + .texture( "front", texture ) + .texture( "back", new ResourceLocation( ComputerCraft.MOD_ID, "block/modem_back" ) ); } private void registerMonitors( BlockMonitor block ) { - String name = block.getRegistryName().getPath(); - registerMonitorModel( name, "", 16, 4, 0, 32 ); - registerMonitorModel( name, "_d", 20, 7, 0, 36 ); - registerMonitorModel( name, "_l", 19, 4, 1, 33 ); - registerMonitorModel( name, "_ld", 31, 7, 1, 45 ); - registerMonitorModel( name, "_lr", 18, 4, 2, 34 ); - registerMonitorModel( name, "_lrd", 30, 7, 2, 46 ); - registerMonitorModel( name, "_lru", 24, 5, 2, 40 ); - registerMonitorModel( name, "_lrud", 27, 6, 2, 43 ); - registerMonitorModel( name, "_lu", 25, 5, 1, 39 ); - registerMonitorModel( name, "_lud", 28, 6, 1, 42 ); - registerMonitorModel( name, "_r", 17, 4, 3, 35 ); - registerMonitorModel( name, "_rd", 29, 7, 3, 47 ); - registerMonitorModel( name, "_ru", 23, 5, 3, 41 ); - registerMonitorModel( name, "_rud", 26, 6, 3, 44 ); - registerMonitorModel( name, "_u", 22, 5, 0, 38 ); - registerMonitorModel( name, "_ud", 21, 6, 0, 37 ); + String name = blockTexture( block ).toString(); + monitorModel( name, "", 16, 4, 0, 32 ); + monitorModel( name, "_d", 20, 7, 0, 36 ); + monitorModel( name, "_l", 19, 4, 1, 33 ); + monitorModel( name, "_ld", 31, 7, 1, 45 ); + monitorModel( name, "_lr", 18, 4, 2, 34 ); + monitorModel( name, "_lrd", 30, 7, 2, 46 ); + monitorModel( name, "_lru", 24, 5, 2, 40 ); + monitorModel( name, "_lrud", 27, 6, 2, 43 ); + monitorModel( name, "_lu", 25, 5, 1, 39 ); + monitorModel( name, "_lud", 28, 6, 1, 42 ); + monitorModel( name, "_r", 17, 4, 3, 35 ); + monitorModel( name, "_rd", 29, 7, 3, 47 ); + monitorModel( name, "_ru", 23, 5, 3, 41 ); + monitorModel( name, "_rud", 26, 6, 3, 44 ); + monitorModel( name, "_u", 22, 5, 0, 38 ); + monitorModel( name, "_ud", 21, 6, 0, 37 ); VariantBlockStateBuilder builder = getVariantBuilder( block ); for( MonitorEdgeState edge : BlockMonitor.STATE.getPossibleValues() ) { String suffix = edge == MonitorEdgeState.NONE ? "" : "_" + edge.getSerializedName(); - ModelFile model = models().getBuilder( suffix( block, suffix ) ); + ModelFile model = models().getBuilder( extend( block.getRegistryName(), suffix ) ); for( Direction facing : BlockMonitor.FACING.getPossibleValues() ) { @@ -111,11 +221,18 @@ private void registerMonitors( BlockMonitor block ) } } } + + simpleBlockItem( block, models().orientable( + extendedName( block, "_item" ), + blockTexture( block, "_4" ), + blockTexture( block, "_15" ), + blockTexture( block, "_0" ) + ) ); } - private void registerMonitorModel( String prefix, String corners, int front, int side, int top, int back ) + private void monitorModel( String prefix, String corners, int front, int side, int top, int back ) { - String texturePrefix = ComputerCraft.MOD_ID + ":block/" + prefix + "_"; + String texturePrefix = prefix + "_"; models().getBuilder( prefix + corners ) .parent( monitorBase ) .texture( "front", texturePrefix + front ) @@ -142,23 +259,27 @@ private static int toYAngle( Direction direction ) return ((int) direction.toYRot() + 180) % 360; } - private static String toSuffix( ComputerState state ) - { - switch( state ) - { - default: - case OFF: - return ""; - case ON: - return "_on"; - case BLINKING: - return "_blink"; - } - } - - private static String suffix( Block block, String suffix ) + private static ResourceLocation blockTexture( Block block, String suffix ) { ResourceLocation id = block.getRegistryName(); - return new ResourceLocation( id.getNamespace(), "block/" + id.getPath() + suffix ).toString(); + return new ResourceLocation( id.getNamespace(), "block/" + id.getPath() + suffix ); + } + + @Nonnull + private String name( @Nonnull IForgeRegistryEntry term ) + { + return Objects.requireNonNull( term.getRegistryName() ).toString(); + } + + @Nonnull + private String extendedName( @Nonnull IForgeRegistryEntry term, @Nonnull String suffix ) + { + return extend( Objects.requireNonNull( term.getRegistryName() ), suffix ); + } + + @Nonnull + private String extend( @Nonnull ResourceLocation location, @Nonnull String suffix ) + { + return new ResourceLocation( location.getNamespace(), location.getPath() + suffix ).toString(); } } diff --git a/src/main/java/dan200/computercraft/data/LootTables.java b/src/main/java/dan200/computercraft/data/LootTables.java index 180e34c71..d33a6d55a 100644 --- a/src/main/java/dan200/computercraft/data/LootTables.java +++ b/src/main/java/dan200/computercraft/data/LootTables.java @@ -11,10 +11,14 @@ import dan200.computercraft.shared.data.BlockNamedEntityLootCondition; import dan200.computercraft.shared.data.HasComputerIdLootCondition; import dan200.computercraft.shared.data.PlayerCreativeLootCondition; +import dan200.computercraft.shared.peripheral.modem.wired.BlockCable; +import dan200.computercraft.shared.peripheral.modem.wired.CableModemVariant; +import net.minecraft.advancements.criterion.StatePropertiesPredicate; import net.minecraft.block.Block; import net.minecraft.data.DataGenerator; import net.minecraft.loot.*; import net.minecraft.loot.conditions.Alternative; +import net.minecraft.loot.conditions.BlockStateProperty; import net.minecraft.loot.conditions.SurvivesExplosion; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.RegistryObject; @@ -46,6 +50,30 @@ protected void registerLoot( BiConsumer add ) computerDrop( add, Registry.ModBlocks.TURTLE_NORMAL ); computerDrop( add, Registry.ModBlocks.TURTLE_ADVANCED ); + add.accept( Registry.ModBlocks.CABLE.get().getLootTable(), LootTable + .lootTable() + .setParamSet( LootParameterSets.BLOCK ) + .withPool( LootPool.lootPool() + .name( "cable" ) + .setRolls( ConstantRange.exactly( 1 ) ) + .add( ItemLootEntry.lootTableItem( Registry.ModItems.CABLE.get() ) ) + .when( SurvivesExplosion.survivesExplosion() ) + .when( BlockStateProperty.hasBlockStateProperties( Registry.ModBlocks.CABLE.get() ) + .setProperties( StatePropertiesPredicate.Builder.properties().hasProperty( BlockCable.CABLE, true ) ) + ) + ) + .withPool( LootPool.lootPool() + .name( "wired_modem" ) + .setRolls( ConstantRange.exactly( 1 ) ) + .add( ItemLootEntry.lootTableItem( Registry.ModItems.WIRED_MODEM.get() ) ) + .when( SurvivesExplosion.survivesExplosion() ) + .when( BlockStateProperty.hasBlockStateProperties( Registry.ModBlocks.CABLE.get() ) + .setProperties( StatePropertiesPredicate.Builder.properties().hasProperty( BlockCable.MODEM, CableModemVariant.None ) ) + .invert() + ) + ) + .build() ); + add.accept( CommonHooks.LOOT_TREASURE_DISK, LootTable .lootTable() .setParamSet( LootParameterSets.ALL_PARAMS ) diff --git a/src/main/java/dan200/computercraft/data/Recipes.java b/src/main/java/dan200/computercraft/data/Recipes.java index ad6611938..8cd2be272 100644 --- a/src/main/java/dan200/computercraft/data/Recipes.java +++ b/src/main/java/dan200/computercraft/data/Recipes.java @@ -10,10 +10,15 @@ import dan200.computercraft.shared.PocketUpgrades; import dan200.computercraft.shared.Registry; import dan200.computercraft.shared.TurtleUpgrades; +import dan200.computercraft.shared.common.ColourableRecipe; import dan200.computercraft.shared.common.IColouredItem; import dan200.computercraft.shared.computer.core.ComputerFamily; +import dan200.computercraft.shared.media.recipes.DiskRecipe; +import dan200.computercraft.shared.media.recipes.PrintoutRecipe; import dan200.computercraft.shared.pocket.items.PocketComputerItemFactory; +import dan200.computercraft.shared.pocket.recipes.PocketComputerUpgradeRecipe; import dan200.computercraft.shared.turtle.items.TurtleItemFactory; +import dan200.computercraft.shared.turtle.recipes.TurtleUpgradeRecipe; import dan200.computercraft.shared.util.Colour; import dan200.computercraft.shared.util.ImpostorRecipe; import dan200.computercraft.shared.util.ImpostorShapelessRecipe; @@ -22,6 +27,9 @@ import net.minecraft.block.Blocks; import net.minecraft.data.*; import net.minecraft.item.*; +import net.minecraft.item.crafting.IRecipeSerializer; +import net.minecraft.item.crafting.SpecialRecipeSerializer; +import net.minecraft.nbt.CompoundNBT; import net.minecraft.tags.ITag; import net.minecraft.util.IItemProvider; import net.minecraft.util.ResourceLocation; @@ -45,6 +53,12 @@ protected void buildShapelessRecipes( @Nonnull Consumer add ) diskColours( add ); pocketUpgrades( add ); turtleUpgrades( add ); + + addSpecial( add, PrintoutRecipe.SERIALIZER ); + addSpecial( add, DiskRecipe.SERIALIZER ); + addSpecial( add, ColourableRecipe.SERIALIZER ); + addSpecial( add, TurtleUpgradeRecipe.SERIALIZER ); + addSpecial( add, PocketComputerUpgradeRecipe.SERIALIZER ); } /** @@ -303,6 +317,41 @@ private void basicRecipes( @Nonnull Consumer add ) .unlockedBy( "has_computer", inventoryChange( CCTags.COMPUTER ) ) .unlockedBy( "has_wireless", inventoryChange( Registry.ModBlocks.WIRELESS_MODEM_NORMAL.get() ) ) .save( add ); + + ShapelessRecipeBuilder + .shapeless( Items.PLAYER_HEAD ) + .requires( Tags.Items.HEADS ) + .requires( Registry.ModItems.MONITOR_NORMAL.get() ) + .unlockedBy( "has_monitor", inventoryChange( Registry.ModItems.MONITOR_NORMAL.get() ) ) + .save( + RecipeWrapper.wrap( IRecipeSerializer.SHAPELESS_RECIPE, add, playerHead( "Cloudhunter", "6d074736-b1e9-4378-a99b-bd8777821c9c" ) ), + new ResourceLocation( ComputerCraft.MOD_ID, "skull_cloudy" ) + ); + + ShapelessRecipeBuilder + .shapeless( Items.PLAYER_HEAD ) + .requires( Tags.Items.HEADS ) + .requires( Registry.ModItems.COMPUTER_ADVANCED.get() ) + .unlockedBy( "has_computer", inventoryChange( Registry.ModItems.COMPUTER_ADVANCED.get() ) ) + .save( + RecipeWrapper.wrap( IRecipeSerializer.SHAPELESS_RECIPE, add, playerHead( "dan200", "f3c8d69b-0776-4512-8434-d1b2165909eb" ) ), + new ResourceLocation( ComputerCraft.MOD_ID, "skull_dan200" ) + ); + + ShapelessRecipeBuilder + .shapeless( Registry.ModItems.PRINTED_PAGES.get() ) + .requires( Registry.ModItems.PRINTED_PAGE.get(), 2 ) + .requires( Tags.Items.STRING ) + .unlockedBy( "has_printer", inventoryChange( Registry.ModBlocks.PRINTER.get() ) ) + .save( RecipeWrapper.wrap( ImpostorShapelessRecipe.SERIALIZER, add ) ); + + ShapelessRecipeBuilder + .shapeless( Registry.ModItems.PRINTED_BOOK.get() ) + .requires( Tags.Items.LEATHER ) + .requires( Registry.ModItems.PRINTED_PAGE.get(), 1 ) + .requires( Tags.Items.STRING ) + .unlockedBy( "has_printer", inventoryChange( Registry.ModBlocks.PRINTER.get() ) ) + .save( RecipeWrapper.wrap( ImpostorShapelessRecipe.SERIALIZER, add ) ); } private static DyeColor ofColour( Colour colour ) @@ -319,4 +368,20 @@ private static InventoryChangeTrigger.Instance inventoryChange( IItemProvider... { return InventoryChangeTrigger.Instance.hasItems( stack ); } + + private static CompoundNBT playerHead( String name, String uuid ) + { + CompoundNBT owner = new CompoundNBT(); + owner.putString( "Name", name ); + owner.putString( "Id", uuid ); + + CompoundNBT tag = new CompoundNBT(); + tag.put( "SkullOwner", owner ); + return tag; + } + + private static void addSpecial( Consumer add, SpecialRecipeSerializer special ) + { + CustomRecipeBuilder.special( special ).save( add, special.getRegistryName().toString() ); + } } diff --git a/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java b/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java index 5a6fb637a..94d523bf9 100644 --- a/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java +++ b/src/main/java/dan200/computercraft/shared/common/ColourableRecipe.java @@ -98,5 +98,5 @@ public IRecipeSerializer getSerializer() return SERIALIZER; } - public static final IRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( ColourableRecipe::new ); + public static final SpecialRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( ColourableRecipe::new ); } diff --git a/src/main/java/dan200/computercraft/shared/computer/core/ComputerState.java b/src/main/java/dan200/computercraft/shared/computer/core/ComputerState.java index 46a382c78..bdc4d33de 100644 --- a/src/main/java/dan200/computercraft/shared/computer/core/ComputerState.java +++ b/src/main/java/dan200/computercraft/shared/computer/core/ComputerState.java @@ -11,15 +11,17 @@ public enum ComputerState implements IStringSerializable { - OFF( "off" ), - ON( "on" ), - BLINKING( "blinking" ); + OFF( "off", "" ), + ON( "on", "_on" ), + BLINKING( "blinking", "_blink" ); private final String name; + private final String texture; - ComputerState( String name ) + ComputerState( String name, String texture ) { this.name = name; + this.texture = texture; } @Nonnull @@ -34,4 +36,10 @@ public String toString() { return name; } + + @Nonnull + public String getTexture() + { + return texture; + } } diff --git a/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java b/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java index 17d09426c..0ef4080da 100644 --- a/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java +++ b/src/main/java/dan200/computercraft/shared/media/recipes/DiskRecipe.java @@ -14,20 +14,16 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.item.crafting.SpecialRecipe; import net.minecraft.item.crafting.SpecialRecipeSerializer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import net.minecraftforge.common.Tags; import javax.annotation.Nonnull; public class DiskRecipe extends SpecialRecipe { - private final Ingredient paper = Ingredient.of( Items.PAPER ); - private final Ingredient redstone = Ingredient.of( Items.REDSTONE ); - // TODO: Ingredient.fromTag( Tags.Items.DUSTS_REDSTONE ); - public DiskRecipe( ResourceLocation id ) { super( id ); @@ -45,12 +41,12 @@ public boolean matches( @Nonnull CraftingInventory inv, @Nonnull World world ) if( !stack.isEmpty() ) { - if( paper.test( stack ) ) + if( stack.getItem() == Items.PAPER ) { if( paperFound ) return false; paperFound = true; } - else if( redstone.test( stack ) ) + else if( Tags.Items.DUSTS_REDSTONE.contains( stack.getItem() ) ) { if( redstoneFound ) return false; redstoneFound = true; @@ -77,7 +73,7 @@ public ItemStack assemble( @Nonnull CraftingInventory inv ) if( stack.isEmpty() ) continue; - if( !paper.test( stack ) && !redstone.test( stack ) ) + if( stack.getItem() != Items.PAPER && !Tags.Items.DUSTS_REDSTONE.contains( stack.getItem() ) ) { DyeColor dye = ColourUtils.getStackColour( stack ); if( dye != null ) tracker.addColour( dye ); @@ -107,5 +103,5 @@ public IRecipeSerializer getSerializer() return SERIALIZER; } - public static final IRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( DiskRecipe::new ); + public static final SpecialRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( DiskRecipe::new ); } diff --git a/src/main/java/dan200/computercraft/shared/media/recipes/PrintoutRecipe.java b/src/main/java/dan200/computercraft/shared/media/recipes/PrintoutRecipe.java index b71bbaef3..def8bbba9 100644 --- a/src/main/java/dan200/computercraft/shared/media/recipes/PrintoutRecipe.java +++ b/src/main/java/dan200/computercraft/shared/media/recipes/PrintoutRecipe.java @@ -10,20 +10,16 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.crafting.IRecipeSerializer; -import net.minecraft.item.crafting.Ingredient; import net.minecraft.item.crafting.SpecialRecipe; import net.minecraft.item.crafting.SpecialRecipeSerializer; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +import net.minecraftforge.common.Tags; import javax.annotation.Nonnull; public final class PrintoutRecipe extends SpecialRecipe { - private final Ingredient paper = Ingredient.of( net.minecraft.item.Items.PAPER ); - private final Ingredient leather = Ingredient.of( net.minecraft.item.Items.LEATHER ); - private final Ingredient string = Ingredient.of( Items.STRING ); - private PrintoutRecipe( ResourceLocation id ) { super( id ); @@ -77,7 +73,7 @@ public ItemStack assemble( @Nonnull CraftingInventory inventory ) numPrintouts++; printoutFound = true; } - else if( paper.test( stack ) ) + else if( stack.getItem() == Items.PAPER ) { if( printouts == null ) { @@ -87,11 +83,11 @@ else if( paper.test( stack ) ) numPages++; numPrintouts++; } - else if( string.test( stack ) && !stringFound ) + else if( Tags.Items.STRING.contains( stack.getItem() ) && !stringFound ) { stringFound = true; } - else if( leather.test( stack ) && !leatherFound ) + else if( Tags.Items.LEATHER.contains( stack.getItem() ) && !leatherFound ) { leatherFound = true; } @@ -163,5 +159,5 @@ public IRecipeSerializer getSerializer() return SERIALIZER; } - public static final IRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( PrintoutRecipe::new ); + public static final SpecialRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( PrintoutRecipe::new ); } diff --git a/src/main/java/dan200/computercraft/shared/peripheral/diskdrive/BlockDiskDrive.java b/src/main/java/dan200/computercraft/shared/peripheral/diskdrive/BlockDiskDrive.java index caa64e460..0dcafa8ea 100644 --- a/src/main/java/dan200/computercraft/shared/peripheral/diskdrive/BlockDiskDrive.java +++ b/src/main/java/dan200/computercraft/shared/peripheral/diskdrive/BlockDiskDrive.java @@ -30,7 +30,7 @@ public class BlockDiskDrive extends BlockGeneric { static final DirectionProperty FACING = BlockStateProperties.HORIZONTAL_FACING; - static final EnumProperty STATE = EnumProperty.create( "state", DiskDriveState.class ); + public static final EnumProperty STATE = EnumProperty.create( "state", DiskDriveState.class ); public BlockDiskDrive( Properties settings ) { diff --git a/src/main/java/dan200/computercraft/shared/pocket/recipes/PocketComputerUpgradeRecipe.java b/src/main/java/dan200/computercraft/shared/pocket/recipes/PocketComputerUpgradeRecipe.java index 0a331a567..0f5c7c67a 100644 --- a/src/main/java/dan200/computercraft/shared/pocket/recipes/PocketComputerUpgradeRecipe.java +++ b/src/main/java/dan200/computercraft/shared/pocket/recipes/PocketComputerUpgradeRecipe.java @@ -113,5 +113,5 @@ public IRecipeSerializer getSerializer() return SERIALIZER; } - public static final IRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( PocketComputerUpgradeRecipe::new ); + public static final SpecialRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( PocketComputerUpgradeRecipe::new ); } diff --git a/src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleUpgradeRecipe.java b/src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleUpgradeRecipe.java index 5c76773b2..2202d9c58 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleUpgradeRecipe.java +++ b/src/main/java/dan200/computercraft/shared/turtle/recipes/TurtleUpgradeRecipe.java @@ -185,5 +185,5 @@ public IRecipeSerializer getSerializer() return SERIALIZER; } - public static final IRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( TurtleUpgradeRecipe::new ); + public static final SpecialRecipeSerializer SERIALIZER = new SpecialRecipeSerializer<>( TurtleUpgradeRecipe::new ); } diff --git a/src/main/resources/assets/computercraft/blockstates/speaker.json b/src/main/resources/assets/computercraft/blockstates/speaker.json deleted file mode 100644 index 4b3935a54..000000000 --- a/src/main/resources/assets/computercraft/blockstates/speaker.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "computercraft:block/speaker" }, - "facing=south": { "model": "computercraft:block/speaker", "y": 180 }, - "facing=west": { "model": "computercraft:block/speaker", "y": 270 }, - "facing=east": { "model": "computercraft:block/speaker", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/turtle_advanced.json b/src/main/resources/assets/computercraft/blockstates/turtle_advanced.json deleted file mode 100644 index 6d0f48560..000000000 --- a/src/main/resources/assets/computercraft/blockstates/turtle_advanced.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "computercraft:block/turtle_advanced" }, - "facing=south": { "model": "computercraft:block/turtle_advanced", "y": 180 }, - "facing=west": { "model": "computercraft:block/turtle_advanced", "y": 270 }, - "facing=east": { "model": "computercraft:block/turtle_advanced", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/turtle_normal.json b/src/main/resources/assets/computercraft/blockstates/turtle_normal.json deleted file mode 100644 index 1c85e13ae..000000000 --- a/src/main/resources/assets/computercraft/blockstates/turtle_normal.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "computercraft:block/turtle_normal" }, - "facing=south": { "model": "computercraft:block/turtle_normal", "y": 180 }, - "facing=west": { "model": "computercraft:block/turtle_normal", "y": 270 }, - "facing=east": { "model": "computercraft:block/turtle_normal", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/turtle_normal_expanded.json b/src/main/resources/assets/computercraft/blockstates/turtle_normal_expanded.json deleted file mode 100644 index dfc53d067..000000000 --- a/src/main/resources/assets/computercraft/blockstates/turtle_normal_expanded.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "facing=north": { "model": "computercraft:turtle_normal" }, - "facing=south": { "model": "computercraft:turtle_normal", "y": 180 }, - "facing=west": { "model": "computercraft:turtle_normal", "y": 270 }, - "facing=east": { "model": "computercraft:turtle_normal", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/wired_modem_full.json b/src/main/resources/assets/computercraft/blockstates/wired_modem_full.json deleted file mode 100644 index ac068443f..000000000 --- a/src/main/resources/assets/computercraft/blockstates/wired_modem_full.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "variants": { - "modem=false,peripheral=false": { "model": "computercraft:block/wired_modem_full_off" }, - "modem=false,peripheral=true": { "model": "computercraft:block/wired_modem_full_off_peripheral" }, - "modem=true,peripheral=false": { "model": "computercraft:block/wired_modem_full_on" }, - "modem=true,peripheral=true": { "model": "computercraft:block/wired_modem_full_on_peripheral" } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/wireless_modem_advanced.json b/src/main/resources/assets/computercraft/blockstates/wireless_modem_advanced.json deleted file mode 100644 index 375ca9646..000000000 --- a/src/main/resources/assets/computercraft/blockstates/wireless_modem_advanced.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "variants": { - "facing=up,on=false": { "model": "computercraft:block/wireless_modem_advanced_off", "x": 270 }, - "facing=down,on=false": { "model": "computercraft:block/wireless_modem_advanced_off", "x": 90 }, - "facing=north,on=false": { "model": "computercraft:block/wireless_modem_advanced_off" }, - "facing=south,on=false": { "model": "computercraft:block/wireless_modem_advanced_off", "y": 180 }, - "facing=west,on=false": { "model": "computercraft:block/wireless_modem_advanced_off", "y": 270 }, - "facing=east,on=false": { "model": "computercraft:block/wireless_modem_advanced_off", "y": 90 }, - - "facing=up,on=true": { "model": "computercraft:block/wireless_modem_advanced_on", "x": 270 }, - "facing=down,on=true": { "model": "computercraft:block/wireless_modem_advanced_on", "x": 90 }, - "facing=north,on=true": { "model": "computercraft:block/wireless_modem_advanced_on" }, - "facing=south,on=true": { "model": "computercraft:block/wireless_modem_advanced_on", "y": 180 }, - "facing=west,on=true": { "model": "computercraft:block/wireless_modem_advanced_on", "y": 270 }, - "facing=east,on=true": { "model": "computercraft:block/wireless_modem_advanced_on", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/blockstates/wireless_modem_normal.json b/src/main/resources/assets/computercraft/blockstates/wireless_modem_normal.json deleted file mode 100644 index e39561423..000000000 --- a/src/main/resources/assets/computercraft/blockstates/wireless_modem_normal.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "variants": { - "facing=up,on=false": { "model": "computercraft:block/wireless_modem_normal_off", "x": 270 }, - "facing=down,on=false": { "model": "computercraft:block/wireless_modem_normal_off", "x": 90 }, - "facing=north,on=false": { "model": "computercraft:block/wireless_modem_normal_off" }, - "facing=south,on=false": { "model": "computercraft:block/wireless_modem_normal_off", "y": 180 }, - "facing=west,on=false": { "model": "computercraft:block/wireless_modem_normal_off", "y": 270 }, - "facing=east,on=false": { "model": "computercraft:block/wireless_modem_normal_off", "y": 90 }, - - "facing=up,on=true": { "model": "computercraft:block/wireless_modem_normal_on", "x": 270 }, - "facing=down,on=true": { "model": "computercraft:block/wireless_modem_normal_on", "x": 90 }, - "facing=north,on=true": { "model": "computercraft:block/wireless_modem_normal_on" }, - "facing=south,on=true": { "model": "computercraft:block/wireless_modem_normal_on", "y": 180 }, - "facing=west,on=true": { "model": "computercraft:block/wireless_modem_normal_on", "y": 270 }, - "facing=east,on=true": { "model": "computercraft:block/wireless_modem_normal_on", "y": 90 } - } -} diff --git a/src/main/resources/assets/computercraft/models/block/monitor_advanced_item.json b/src/main/resources/assets/computercraft/models/block/monitor_advanced_item.json deleted file mode 100644 index 9420c1350..000000000 --- a/src/main/resources/assets/computercraft/models/block/monitor_advanced_item.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/orientable", - "textures": { - "front": "computercraft:block/monitor_advanced_15", - "side": "computercraft:block/monitor_advanced_4", - "top": "computercraft:block/monitor_advanced_0" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/monitor_normal_d.json b/src/main/resources/assets/computercraft/models/block/monitor_normal_d.json deleted file mode 100644 index ab3cf8bf4..000000000 --- a/src/main/resources/assets/computercraft/models/block/monitor_normal_d.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "parent": "computercraft:block/monitor_base", - "textures": { - "front": "computercraft:block/monitor_normal_20", - "side": "computercraft:block/monitor_normal_36", - "top": "computercraft:block/monitor_normal_0", - "back": "computercraft:block/monitor_normal_36" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/monitor_normal_item.json b/src/main/resources/assets/computercraft/models/block/monitor_normal_item.json deleted file mode 100644 index a8f01f314..000000000 --- a/src/main/resources/assets/computercraft/models/block/monitor_normal_item.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/orientable", - "textures": { - "front": "computercraft:block/monitor_normal_15", - "side": "computercraft:block/monitor_normal_4", - "top": "computercraft:block/monitor_normal_0" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/speaker.json b/src/main/resources/assets/computercraft/models/block/speaker.json deleted file mode 100644 index a2f45c10a..000000000 --- a/src/main/resources/assets/computercraft/models/block/speaker.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "block/orientable", - "textures": { - "front": "computercraft:block/speaker_front", - "side": "computercraft:block/speaker_side", - "top": "computercraft:block/speaker_top" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/turtle_advanced.json b/src/main/resources/assets/computercraft/models/block/turtle_advanced.json deleted file mode 100644 index 6e7ed42a5..000000000 --- a/src/main/resources/assets/computercraft/models/block/turtle_advanced.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "loader": "computercraft:turtle", - "model": "computercraft:block/turtle_advanced_base" -} diff --git a/src/main/resources/assets/computercraft/models/block/turtle_advanced_base.json b/src/main/resources/assets/computercraft/models/block/turtle_advanced_base.json deleted file mode 100644 index c232c67d3..000000000 --- a/src/main/resources/assets/computercraft/models/block/turtle_advanced_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "computercraft:block/turtle_base", - "textures": { - "texture": "computercraft:block/turtle_advanced" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/turtle_normal.json b/src/main/resources/assets/computercraft/models/block/turtle_normal.json deleted file mode 100644 index 8d58a0b14..000000000 --- a/src/main/resources/assets/computercraft/models/block/turtle_normal.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "loader": "computercraft:turtle", - "model": "computercraft:block/turtle_normal_base" -} diff --git a/src/main/resources/assets/computercraft/models/block/turtle_normal_base.json b/src/main/resources/assets/computercraft/models/block/turtle_normal_base.json deleted file mode 100644 index 840517b05..000000000 --- a/src/main/resources/assets/computercraft/models/block/turtle_normal_base.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "computercraft:block/turtle_base", - "textures": { - "texture": "computercraft:block/turtle_normal" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_full_off.json b/src/main/resources/assets/computercraft/models/block/wired_modem_full_off.json deleted file mode 100644 index d6d2e5303..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_full_off.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "computercraft:block/wired_modem_face" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json b/src/main/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json deleted file mode 100644 index 0c5c0e50c..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_full_off_peripheral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "computercraft:block/wired_modem_face_peripheral" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_full_on.json b/src/main/resources/assets/computercraft/models/block/wired_modem_full_on.json deleted file mode 100644 index c36e45cff..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_full_on.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "computercraft:block/wired_modem_face_on" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json b/src/main/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json deleted file mode 100644 index e4fb9858b..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_full_on_peripheral.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "computercraft:block/wired_modem_face_peripheral_on" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_off.json b/src/main/resources/assets/computercraft/models/block/wired_modem_off.json deleted file mode 100644 index 9c500700d..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_off.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wired_modem_face", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json b/src/main/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json deleted file mode 100644 index 9532df960..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_off_peripheral.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wired_modem_face_peripheral", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_on.json b/src/main/resources/assets/computercraft/models/block/wired_modem_on.json deleted file mode 100644 index f69937299..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wired_modem_face_on", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json b/src/main/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json deleted file mode 100644 index 22cccf90b..000000000 --- a/src/main/resources/assets/computercraft/models/block/wired_modem_on_peripheral.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wired_modem_face_peripheral_on", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json b/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json deleted file mode 100644 index a818ba19a..000000000 --- a/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_off.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wireless_modem_advanced_face", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json b/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json deleted file mode 100644 index 7327fa44a..000000000 --- a/src/main/resources/assets/computercraft/models/block/wireless_modem_advanced_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wireless_modem_advanced_face_on", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_off.json b/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_off.json deleted file mode 100644 index 2ac06bfd5..000000000 --- a/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_off.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wireless_modem_normal_face", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_on.json b/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_on.json deleted file mode 100644 index 0b0697741..000000000 --- a/src/main/resources/assets/computercraft/models/block/wireless_modem_normal_on.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "parent": "computercraft:block/modem", - "textures": { - "front": "computercraft:block/wireless_modem_normal_face_on", - "back": "computercraft:block/modem_back" - } -} diff --git a/src/main/resources/assets/computercraft/models/item/computer_advanced.json b/src/main/resources/assets/computercraft/models/item/computer_advanced.json deleted file mode 100644 index bbaf95089..000000000 --- a/src/main/resources/assets/computercraft/models/item/computer_advanced.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/computer_advanced_blinking" -} diff --git a/src/main/resources/assets/computercraft/models/item/computer_command.json b/src/main/resources/assets/computercraft/models/item/computer_command.json deleted file mode 100644 index c0df0ddd6..000000000 --- a/src/main/resources/assets/computercraft/models/item/computer_command.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/computer_command_blinking" -} diff --git a/src/main/resources/assets/computercraft/models/item/computer_normal.json b/src/main/resources/assets/computercraft/models/item/computer_normal.json deleted file mode 100644 index bf906f744..000000000 --- a/src/main/resources/assets/computercraft/models/item/computer_normal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/computer_normal_blinking" -} diff --git a/src/main/resources/assets/computercraft/models/item/monitor_advanced.json b/src/main/resources/assets/computercraft/models/item/monitor_advanced.json deleted file mode 100644 index 52ff045f8..000000000 --- a/src/main/resources/assets/computercraft/models/item/monitor_advanced.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/monitor_advanced_item" -} diff --git a/src/main/resources/assets/computercraft/models/item/monitor_normal.json b/src/main/resources/assets/computercraft/models/item/monitor_normal.json deleted file mode 100644 index 29079e6b3..000000000 --- a/src/main/resources/assets/computercraft/models/item/monitor_normal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/monitor_normal_item" -} diff --git a/src/main/resources/assets/computercraft/models/item/speaker.json b/src/main/resources/assets/computercraft/models/item/speaker.json deleted file mode 100644 index 3aed864e9..000000000 --- a/src/main/resources/assets/computercraft/models/item/speaker.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/speaker" -} diff --git a/src/main/resources/assets/computercraft/models/item/turtle_advanced.json b/src/main/resources/assets/computercraft/models/item/turtle_advanced.json deleted file mode 100644 index 05160ec24..000000000 --- a/src/main/resources/assets/computercraft/models/item/turtle_advanced.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/turtle_advanced" -} diff --git a/src/main/resources/assets/computercraft/models/item/turtle_normal.json b/src/main/resources/assets/computercraft/models/item/turtle_normal.json deleted file mode 100644 index 7e52697e1..000000000 --- a/src/main/resources/assets/computercraft/models/item/turtle_normal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/turtle_normal" -} diff --git a/src/main/resources/assets/computercraft/models/item/wired_modem.json b/src/main/resources/assets/computercraft/models/item/wired_modem.json deleted file mode 100644 index a1d809c37..000000000 --- a/src/main/resources/assets/computercraft/models/item/wired_modem.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/wired_modem_off" -} diff --git a/src/main/resources/assets/computercraft/models/item/wired_modem_full.json b/src/main/resources/assets/computercraft/models/item/wired_modem_full.json deleted file mode 100644 index 77237e07a..000000000 --- a/src/main/resources/assets/computercraft/models/item/wired_modem_full.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/wired_modem_full_off" -} diff --git a/src/main/resources/assets/computercraft/models/item/wireless_modem_advanced.json b/src/main/resources/assets/computercraft/models/item/wireless_modem_advanced.json deleted file mode 100644 index 801d0dd42..000000000 --- a/src/main/resources/assets/computercraft/models/item/wireless_modem_advanced.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/wireless_modem_advanced_off" -} diff --git a/src/main/resources/assets/computercraft/models/item/wireless_modem_normal.json b/src/main/resources/assets/computercraft/models/item/wireless_modem_normal.json deleted file mode 100644 index bf403a943..000000000 --- a/src/main/resources/assets/computercraft/models/item/wireless_modem_normal.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "computercraft:block/wireless_modem_normal_off" -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/printed_book.json b/src/main/resources/data/computercraft/advancements/recipes/printed_book.json deleted file mode 100644 index 1d6bd81ac..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/printed_book.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ "computercraft:printed_book" ] - }, - "criteria": { - "has_normal": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:printed_page" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:printed_book" } - } - }, - "requirements": [ - [ - "has_normal", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/printed_pages.json b/src/main/resources/data/computercraft/advancements/recipes/printed_pages.json deleted file mode 100644 index b87a31a50..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/printed_pages.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ "computercraft:printed_pages" ] - }, - "criteria": { - "has_normal": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:printer" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:printed_pages" } - } - }, - "requirements": [ - [ - "has_normal", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/printout.json b/src/main/resources/data/computercraft/advancements/recipes/printout.json deleted file mode 100644 index ef0e9f314..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/printout.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ "computercraft:printout" ] - }, - "criteria": { - "has_normal": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:printer" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:printout" } - } - }, - "requirements": [ - [ - "has_normal", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/skull_cloudy.json b/src/main/resources/data/computercraft/advancements/recipes/skull_cloudy.json deleted file mode 100644 index 6ab01fe65..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/skull_cloudy.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ "computercraft:skull_cloudy" ] - }, - "criteria": { - "has_advanced": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:computer_advanced" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:skull_cloudy" } - } - }, - "requirements": [ - [ - "has_advanced", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/skull_dan200.json b/src/main/resources/data/computercraft/advancements/recipes/skull_dan200.json deleted file mode 100644 index 277c0b477..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/skull_dan200.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ "computercraft:skull_dan200" ] - }, - "criteria": { - "has_advanced": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:computer_advanced" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:skull_dan200" } - } - }, - "requirements": [ - [ - "has_advanced", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/advancements/recipes/wired_modem.json b/src/main/resources/data/computercraft/advancements/recipes/wired_modem.json deleted file mode 100644 index ec4cef5a9..000000000 --- a/src/main/resources/data/computercraft/advancements/recipes/wired_modem.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "rewards": { - "recipes": [ - "computercraft:wired_modem", - "computercraft:wired_modem_full_to", - "computercraft:wired_modem_full_from" - ] - }, - "criteria": { - "has_normal": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:computer_normal" } ] - } - }, - "has_advanced": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:computer_advanced" } ] - } - }, - "has_cable": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:wired_modem" } ] - } - }, - "has_modem_full": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ { "item": "computercraft:wired_modem_full" } ] - } - }, - "has_the_recipe": { - "trigger": "minecraft:recipe_unlocked", - "conditions": { "recipe": "computercraft:wired_modem" } - } - }, - "requirements": [ - [ - "has_normal", - "has_advanced", - "has_cable", - "has_modem_full", - "has_the_recipe" - ] - ] -} diff --git a/src/main/resources/data/computercraft/loot_tables/blocks/cable.json b/src/main/resources/data/computercraft/loot_tables/blocks/cable.json deleted file mode 100644 index 0bc4cd077..000000000 --- a/src/main/resources/data/computercraft/loot_tables/blocks/cable.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "name": "cable", - "rolls": 1, - "entries": [ - { "type": "minecraft:item", "name": "computercraft:cable" } - ], - "conditions": [ - { "condition": "minecraft:survives_explosion" }, - { - "condition": "minecraft:block_state_property", - "block": "computercraft:cable", - "properties": { "cable": "true" } - } - ] - }, - { - "name": "wired_modem", - "rolls": 1, - "entries": [ - { "type": "minecraft:item", "name": "computercraft:wired_modem" } - ], - "conditions": [ - { "condition": "minecraft:survives_explosion" }, - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:block_state_property", - "block": "computercraft:cable", - "properties": { "modem": "none" } - } - } - ] - } - ] -} diff --git a/src/main/resources/data/computercraft/recipes/colour.json b/src/main/resources/data/computercraft/recipes/colour.json deleted file mode 100644 index ff190e755..000000000 --- a/src/main/resources/data/computercraft/recipes/colour.json +++ /dev/null @@ -1 +0,0 @@ -{ "type": "computercraft:colour" } diff --git a/src/main/resources/data/computercraft/recipes/disk.json b/src/main/resources/data/computercraft/recipes/disk.json deleted file mode 100644 index 5dfba2271..000000000 --- a/src/main/resources/data/computercraft/recipes/disk.json +++ /dev/null @@ -1 +0,0 @@ -{ "type": "computercraft:disk" } diff --git a/src/main/resources/data/computercraft/recipes/pocket_computer_upgrade.json b/src/main/resources/data/computercraft/recipes/pocket_computer_upgrade.json deleted file mode 100644 index 1dc7038c7..000000000 --- a/src/main/resources/data/computercraft/recipes/pocket_computer_upgrade.json +++ /dev/null @@ -1 +0,0 @@ -{ "type": "computercraft:pocket_computer_upgrade" } diff --git a/src/main/resources/data/computercraft/recipes/printed_book.json b/src/main/resources/data/computercraft/recipes/printed_book.json deleted file mode 100644 index aac7eb4e2..000000000 --- a/src/main/resources/data/computercraft/recipes/printed_book.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "computercraft:impostor_shapeless", - "ingredients": [ - { "item": "minecraft:leather" }, - { "item": "computercraft:printed_page" }, - { "item": "minecraft:string" } - ], - "result": { "item": "computercraft:printed_book" } -} diff --git a/src/main/resources/data/computercraft/recipes/printed_pages.json b/src/main/resources/data/computercraft/recipes/printed_pages.json deleted file mode 100644 index 38d32c223..000000000 --- a/src/main/resources/data/computercraft/recipes/printed_pages.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "type": "computercraft:impostor_shapeless", - "ingredients": [ - { "item": "computercraft:printed_page" }, - { "item": "computercraft:printed_page" }, - { "item": "minecraft:string" } - ], - "result": { "item": "computercraft:printed_pages" } -} diff --git a/src/main/resources/data/computercraft/recipes/printout.json b/src/main/resources/data/computercraft/recipes/printout.json deleted file mode 100644 index 20588569a..000000000 --- a/src/main/resources/data/computercraft/recipes/printout.json +++ /dev/null @@ -1 +0,0 @@ -{ "type": "computercraft:printout" } diff --git a/src/main/resources/data/computercraft/recipes/skull_cloudy.json b/src/main/resources/data/computercraft/recipes/skull_cloudy.json deleted file mode 100644 index 4d7a77642..000000000 --- a/src/main/resources/data/computercraft/recipes/skull_cloudy.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "crafting_shapeless", - "ingredients": [ - { "item": "minecraft:wither_skeleton_skull" }, - { "item": "computercraft:monitor_normal" } - ], - "result": { - "item": "minecraft:player_head", - "nbt": { "SkullOwner": { "Name": "Cloudhunter", "Id": "6d074736-b1e9-4378-a99b-bd8777821c9c" } } - } -} diff --git a/src/main/resources/data/computercraft/recipes/skull_dan200.json b/src/main/resources/data/computercraft/recipes/skull_dan200.json deleted file mode 100644 index 5f7bb84a8..000000000 --- a/src/main/resources/data/computercraft/recipes/skull_dan200.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "crafting_shapeless", - "ingredients": [ - { "item": "minecraft:wither_skeleton_skull" }, - { "item": "computercraft:computer_normal" } - ], - "result": { - "item": "minecraft:player_head", - "nbt": { "SkullOwner": { "Name": "dan200", "Id": "f3c8d69b-0776-4512-8434-d1b2165909eb" } } - } -} diff --git a/src/main/resources/data/computercraft/recipes/turtle_upgrade.json b/src/main/resources/data/computercraft/recipes/turtle_upgrade.json deleted file mode 100644 index cf3b74e94..000000000 --- a/src/main/resources/data/computercraft/recipes/turtle_upgrade.json +++ /dev/null @@ -1 +0,0 @@ -{ "type": "computercraft:turtle_upgrade" }