diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 1bafb8647..225c09883 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -408,20 +408,20 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json c71f5246d2cb8e9913d1552d23fcc82c43cde7a0 assets/create/lang/en_ud.json -902ca1904553a96445e4defd5a98e731803c3c8b assets/create/lang/en_us.json -c50d86ae82e9ff2aae4343ba04a500b39a80cdfe assets/create/lang/unfinished/de_de.json -e5dd53df8175a4c6eabfc7cefb154fd561e6b9b4 assets/create/lang/unfinished/es_es.json -fe7f791502163b2a0926ba419a498b248f698721 assets/create/lang/unfinished/es_mx.json -cf40087ddd20d942c966bccfab98119c833ccbc5 assets/create/lang/unfinished/fr_fr.json -32a09af53c8648d0973edda6f68add0cf26c9125 assets/create/lang/unfinished/it_it.json -386c07ecf2ee25aae7a200d3dd769230c2dda153 assets/create/lang/unfinished/ja_jp.json -053eaf939c2b335333e59c0012dfb93631702edd assets/create/lang/unfinished/ko_kr.json -b34828b5cc1c758abaf9a2ac7b7093d61835a3fe assets/create/lang/unfinished/nl_nl.json -4187feb7f6edb5557310731104a5ad8b3fa3554a assets/create/lang/unfinished/pl_pl.json -97eb911223452db36aea56313f120e1e30e37fa6 assets/create/lang/unfinished/pt_br.json -22473d1767b07aa892c6716f3e21191800c07b34 assets/create/lang/unfinished/ru_ru.json -9b74abf763c2a9e1b626a35105e273aee1254cfa assets/create/lang/unfinished/zh_cn.json -3f640da7f2796441a33e436b50d74d86bac1043f assets/create/lang/unfinished/zh_tw.json +ecb2b14e09668bb04ead075b25751af4d47d530a assets/create/lang/en_us.json +32a311fee8bea2504ec80f4ecfabf64afc994109 assets/create/lang/unfinished/de_de.json +af669cb92010605ebb73ea48bad9215e8efa216b assets/create/lang/unfinished/es_es.json +23dce1fd449f6e0e747c10508f9551edb3912a69 assets/create/lang/unfinished/es_mx.json +461155a3e7555df12d07748e7b8c7ca137f2ce69 assets/create/lang/unfinished/fr_fr.json +9cb68aeeeb220466ec4766ac7fd4adc4a28a14ee assets/create/lang/unfinished/it_it.json +1a287c031e3a9cd370e61b8912a2d1f39273b051 assets/create/lang/unfinished/ja_jp.json +0eaa7a9f39f3cd8be5b88e61992cf3198b76689d assets/create/lang/unfinished/ko_kr.json +db87b45eff6bd38dd1774510fa54429c47c194b9 assets/create/lang/unfinished/nl_nl.json +4c90c5055d090adc5765e8ab80f73f7e22185151 assets/create/lang/unfinished/pl_pl.json +bf04fa57b3e3efee8c6989b69f98fb374c8eff86 assets/create/lang/unfinished/pt_br.json +c8f9159b77f8176c994fb008d9b57f9154f48c6d assets/create/lang/unfinished/ru_ru.json +9f55faa2273c7493fe66aa7d369bfdd6edcb2a3f assets/create/lang/unfinished/zh_cn.json +9333985168408e58aa76f9c865b2c5fad4691527 assets/create/lang/unfinished/zh_tw.json 487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json 3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json @@ -1654,7 +1654,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json 6490fa0587db770cf7c794b47f3bcd2b691f4226 assets/create/sounds.json -0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json +5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json 187921fa131b06721bfaf63f2623a28c141aae9a data/create/advancements/andesite_alloy.json 0ea2db7173b5be28b289ea7c9a6a0cf5805c60c7 data/create/advancements/andesite_casing.json 83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index a3cc208cc..952a35eac 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -1155,6 +1155,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1770,7 +1771,6 @@ "create.ponder.fan_source.text_2": "When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "", "create.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index e20cf7288..65187531b 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_es.json b/src/generated/resources/assets/create/lang/unfinished/es_es.json index d18d2433e..973e7e921 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_es.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_es.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/es_mx.json b/src/generated/resources/assets/create/lang/unfinished/es_mx.json index 7f0686c57..3dff56990 100644 --- a/src/generated/resources/assets/create/lang/unfinished/es_mx.json +++ b/src/generated/resources/assets/create/lang/unfinished/es_mx.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index 4ebd937db..cec3e9464 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 528c5d80e..65467970e 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index b0f5ac5de..486c11fae 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "このからくりトロッコは大きすぎて拾えません。", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "レッドストーン信号を受けると、回転力が生成されます", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 827341591..adcd4692d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index abbd7b157..4e870daaf 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json index 39fbe5feb..67dac6ca4 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pl_pl.json +++ b/src/generated/resources/assets/create/lang/unfinished/pl_pl.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "Ta maszyna w wagoniku jest zbyt duża, aby ją podnieść", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "Po zasileniu, wiatraki zaczną przesyłać siłę do przylegających komponentów", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index f77b5b3e9..c5c1ec0c6 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "UNLOCALIZED: tickTime", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index 3313e090f..7b53ce1b1 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "Время тика", "create.contraption.minecart_contraption_too_big": "UNLOCALIZED: This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "UNLOCALIZED: When given a Redstone Signal, the Fans will start providing power", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index 77fd00407..a275acd0d 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "这一矿车装置似乎太大了,无法变为拾捡状态", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "当鼓风机接受红石信号后,它便会向外供给旋转力", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json index c516ca002..ed3bfc17a 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_tw.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_tw.json @@ -1156,6 +1156,7 @@ "create.command.killTPSCommand.argument.tickTime": "tickTime", "create.contraption.minecart_contraption_too_big": "這個礦車結構太大了而無法撿取", + "create.contraption.minecart_contraption_illegal_pickup": "UNLOCALIZED: A mystical force is binding this Cart Contraption to the world", "_": "->------------------------] Subtitles [------------------------<-", @@ -1771,7 +1772,6 @@ "create.ponder.fan_source.text_2": "當鼓風機接受紅石訊號後,它便會向外供給動能", "create.ponder.fluid_pipe_flow.header": "UNLOCALIZED: Moving Fluids using Copper Pipes", - "create.ponder.fluid_pipe_flow.text_1": "UNLOCALIZED: ", "create.ponder.fluid_pipe_interaction.header": "UNLOCALIZED: Draining and Filling fluid containers", diff --git a/src/generated/resources/data/create/advancements/aesthetics.json b/src/generated/resources/data/create/advancements/aesthetics.json index d723cbe38..59a86f429 100644 --- a/src/generated/resources/data/create/advancements/aesthetics.json +++ b/src/generated/resources/data/create/advancements/aesthetics.json @@ -28,8 +28,8 @@ "trigger": "create:bracket_apply", "conditions": { "accepted_entries": [ - "create:cogwheel", - "create:large_cogwheel" + "create:large_cogwheel", + "create:cogwheel" ] } }, diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java index 0e326beeb..49acb263e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/BlockMovementChecks.java @@ -32,6 +32,8 @@ import com.simibubi.create.content.logistics.block.redstone.RedstoneLinkBlock; import com.simibubi.create.foundation.config.AllConfigs; +import com.simibubi.create.foundation.config.CKinetics; + import net.minecraft.block.AbstractPressurePlateBlock; import net.minecraft.block.AbstractRailBlock; import net.minecraft.block.AbstractSignBlock; @@ -195,7 +197,8 @@ public class BlockMovementChecks { return false; if (state.getBlock().getTags().contains(NON_MOVABLE)) return false; - if (!AllConfigs.SERVER.kinetics.movableSpawners.get() && block instanceof SpawnerBlock) + if (AllConfigs.SERVER.kinetics.spawnerMovement.get() == CKinetics.SpawnerMovementSetting.UNMOVABLE + && block instanceof SpawnerBlock) return false; // Move controllers only when they aren't moving diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java index 522163f37..4a14151b4 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java @@ -12,12 +12,15 @@ import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.content.contraptions.components.structureMovement.OrientedContraptionEntity; +import com.simibubi.create.foundation.config.AllConfigs; +import com.simibubi.create.foundation.config.CKinetics; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.block.AbstractRailBlock; import net.minecraft.block.BlockState; import net.minecraft.block.DispenserBlock; +import net.minecraft.block.SpawnerBlock; import net.minecraft.block.material.Material; import net.minecraft.dispenser.DefaultDispenseItemBehavior; import net.minecraft.dispenser.IBlockSource; @@ -218,6 +221,16 @@ public class MinecartContraptionItem extends Item { return; OrientedContraptionEntity contraption = (OrientedContraptionEntity) passengers.get(0); + if (AllConfigs.SERVER.kinetics.spawnerMovement.get() == CKinetics.SpawnerMovementSetting.NO_PICKUP) { + Contraption blocks = contraption.getContraption(); + if (blocks != null && blocks.getBlocks().values().stream() + .anyMatch(i -> i.state.getBlock() instanceof SpawnerBlock)) { + player.sendStatusMessage(Lang.translate("contraption.minecart_contraption_illegal_pickup") + .formatted(TextFormatting.RED), true); + return; + } + } + if (event.getWorld().isRemote) { event.setCancellationResult(ActionResultType.SUCCESS); event.setCanceled(true); diff --git a/src/main/java/com/simibubi/create/foundation/config/CKinetics.java b/src/main/java/com/simibubi/create/foundation/config/CKinetics.java index f97a88318..b5fe5002d 100644 --- a/src/main/java/com/simibubi/create/foundation/config/CKinetics.java +++ b/src/main/java/com/simibubi/create/foundation/config/CKinetics.java @@ -33,7 +33,8 @@ public class CKinetics extends ConfigBase { public ConfigInt maxPistonPoles = i(64, 1, "maxPistonPoles", Comments.maxPistonPoles); public ConfigInt maxRopeLength = i(128, 1, "maxRopeLength", Comments.maxRopeLength); public ConfigInt maxCartCouplingLength = i(32, 1, "maxCartCouplingLength", Comments.maxCartCouplingLength); - public ConfigBool movableSpawners = b(true, "movableSpawners", Comments.movableSpawners); + public ConfigEnum spawnerMovement = + e(SpawnerMovementSetting.NO_PICKUP, "movableSpawners", Comments.spawnerMovement); public CStress stressValues = nested(1, CStress::new, Comments.stress); @@ -93,11 +94,15 @@ public class CKinetics extends ConfigBase { static String maxEjectorDistance = "Max Distance in blocks a Weighted Ejector can throw"; static String ejectorScanInterval = "Time in ticks until the next item launched by an ejector scans blocks for potential collisions"; - static String movableSpawners = "When true, allows Spawner blocks to be moved by contraptions."; + static String spawnerMovement = "Configure how Spawner blocks can be moved by contraptions."; } public enum DeployerAggroSetting { ALL, CREEPERS, NONE } + public enum SpawnerMovementSetting { + MOVABLE, NO_PICKUP, UNMOVABLE + } + } diff --git a/src/main/resources/assets/create/lang/default/messages.json b/src/main/resources/assets/create/lang/default/messages.json index ef13ce6fa..d952edec3 100644 --- a/src/main/resources/assets/create/lang/default/messages.json +++ b/src/main/resources/assets/create/lang/default/messages.json @@ -44,11 +44,11 @@ "create.recipe.spout_filling": "Filling by Spout", "create.recipe.draining": "Item Draining", - "create.recipe.processing.chance": "%1$s%% Chance", + "create.recipe.processing.chance": "%1$s%% Chance", "create.recipe.heat_requirement.none": "No Heating Required", "create.recipe.heat_requirement.heated": "Heated", "create.recipe.heat_requirement.superheated": "Super-Heated", - + "create.generic.range": "Range", "create.generic.radius": "Radius", "create.generic.width": "Width", @@ -123,11 +123,11 @@ "create.gui.terrainzapper.tool.clear": "Clear", "create.gui.terrainzapper.tool.overlay": "Overlay", "create.gui.terrainzapper.tool.flatten": "Flatten", - + "create.terrainzapper.shiftRightClickToSet": "Shift-Right-Click to Select a Shape", "create.terrainzapper.usingBlock": "Using: %1$s", "create.terrainzapper.leftClickToSet": "Left-Click a Block to set Material", - + "create.minecart_coupling.two_couplings_max": "Minecarts cannot have more than two couplings each", "create.minecart_coupling.unloaded": "Parts of your train seem to be in unloaded chunks", "create.minecart_coupling.no_loops": "Couplings cannot form a loop", @@ -145,13 +145,13 @@ "create.contraptions.cart_movement_mode.rotate": "Always face toward motion", "create.contraptions.cart_movement_mode.rotate_paused": "Pause actors while rotating", "create.contraptions.cart_movement_mode.rotation_locked": "Lock rotation", - + "create.contraptions.windmill.rotation_direction": "Rotation Direction", "create.contraptions.clockwork.clock_hands": "Clock Hands", "create.contraptions.clockwork.hour_first": "Hour hand first", "create.contraptions.clockwork.minute_first": "Minute hand first", "create.contraptions.clockwork.hour_first_24": "24-Hour hand first", - + "create.logistics.filter": "Filter", "create.logistics.recipe_filter": "Recipe Filter", "create.logistics.fluid_filter": "Fluid Filter", @@ -183,7 +183,7 @@ "create.gui.stressometer.capacity": "Remaining Capacity", "create.gui.stressometer.overstressed": "Overstressed", "create.gui.stressometer.no_rotation": "No Rotation", - + "create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.", "create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.", @@ -296,7 +296,7 @@ "create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty", "create.gui.schematicannon.option.skipMissing": "Skip missing Blocks", "create.gui.schematicannon.option.skipTileEntities": "Protect Tile Entities", - + "create.gui.schematicannon.slot.gunpowder": "Add gunpowder to fuel the cannon", "create.gui.schematicannon.slot.listPrinter": "Place books here to print a Checklist for your Schematic", "create.gui.schematicannon.slot.schematic": "Add your Schematic here. Make sure it is deployed at a specific location.", @@ -337,7 +337,7 @@ "create.gui.filter.respect_data.description": "Items only match if their durability, enchantments, and other attributes match as well.", "create.gui.filter.ignore_data": "Ignore Data", "create.gui.filter.ignore_data.description": "Items match regardless of their attributes.", - + "create.item_attributes.placeable": "is placeable", "create.item_attributes.placeable.inverted": "is not placeable", "create.item_attributes.consumable": "can be eaten", @@ -399,7 +399,7 @@ "create.item_attributes.astralsorcery_perk_gem.inverted": "does not have perk attribute %1$s", "create.item_attributes.astralsorcery_amulet": "improves %1$s", "create.item_attributes.astralsorcery_amulet.inverted": "does not improve %1$s", - + "create.gui.attribute_filter.no_selected_attributes": "No attributes selected", "create.gui.attribute_filter.selected_attributes": "Selected attributes:", "create.gui.attribute_filter.add_attribute": "Add attribute to List", @@ -435,12 +435,12 @@ "create.tooltip.generationSpeed" : "Generates at %1$s %2$s", "create.tooltip.analogStrength": "Analog Strength: %1$s/15", - + "create.mechanical_arm.extract_from": "Take items from %1$s", "create.mechanical_arm.deposit_to": "Deposit items to %1$s", "create.mechanical_arm.summary": "Mechanical Arm has %1$s input(s) and %2$s output(s).", "create.mechanical_arm.points_outside_range": "%1$s selected interaction point(s) removed due to range limitations.", - + "create.weighted_ejector.target_set": "Target Selected", "create.weighted_ejector.target_not_valid": "Ejecting to Adjacent block (Target was not Valid)", "create.weighted_ejector.no_target": "Ejecting to Adjacent block (No Target was Selected)", @@ -470,13 +470,13 @@ "create.tooltip.chute.fans_pull_up": "Fans pull from Above", "create.tooltip.chute.fans_pull_down": "Fans pull from Below", "create.tooltip.chute.contains": "Contains: %1$s x%2$s", - + "create.linked_controller.bind_mode": "Bind mode active", "create.linked_controller.press_keybind": "Press %1$s, %2$s, %3$s, %4$s, %5$s or %6$s, to bind this frequency to the respective key", "create.linked_controller.key_bound": "Frequency bound to %1$s", "create.linked_controller.frequency_slot_1": "Keybind: %1$s, Freq. #1", "create.linked_controller.frequency_slot_2": "Keybind: %1$s, Freq. #2", - + "create.crafting_blueprint.crafting_slot": "Ingredient Slot", "create.crafting_blueprint.filter_items_viable": "Advanced filter items are viable", "create.crafting_blueprint.display_slot": "Display Slot", @@ -484,7 +484,7 @@ "create.crafting_blueprint.manually_assigned": "Manually assigned", "create.crafting_blueprint.secondary_display_slot": "Secondary Display Slot", "create.crafting_blueprint.optional": "Optional", - + "create.hint.hose_pulley.title": "Bottomless Supply", "create.hint.hose_pulley": "The targeted body of fluid is considered infinite.", "create.hint.mechanical_arm_no_targets.title": "No Targets", @@ -510,7 +510,8 @@ "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", "create.command.killTPSCommand.argument.tickTime": "tickTime", - - "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up" -} \ No newline at end of file + "create.contraption.minecart_contraption_too_big": "This Cart Contraption seems too big to pick up", + "create.contraption.minecart_contraption_illegal_pickup": "A mystical force is binding this Cart Contraption to the world" + +}