From 1c0c260f006aaefe8a304362298794dc0b936e4e Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Thu, 1 Jun 2023 13:52:40 +0200 Subject: [PATCH 1/2] fix: #76 Logic Issue with Placement --- gradle.properties | 2 +- .../constructionwand/wand/undo/PlaceSnapshot.java | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/gradle.properties b/gradle.properties index bf09a07..86a9b1a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,4 @@ botania=1.19.2-437-FORGE jei_version=13.1.0.2 version_major=2 -version_minor=10 \ No newline at end of file +version_minor=11 \ No newline at end of file diff --git a/src/main/java/thetadev/constructionwand/wand/undo/PlaceSnapshot.java b/src/main/java/thetadev/constructionwand/wand/undo/PlaceSnapshot.java index ca17038..732c2b0 100644 --- a/src/main/java/thetadev/constructionwand/wand/undo/PlaceSnapshot.java +++ b/src/main/java/thetadev/constructionwand/wand/undo/PlaceSnapshot.java @@ -6,8 +6,6 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.Property; @@ -100,7 +98,7 @@ public class PlaceSnapshot implements ISnapshot // Can block be placed? BlockState blockState = item.getBlock().getStateForPlacement(ctx); - if(blockState == null) return null; + if(blockState == null || !blockState.canSurvive(world, pos)) return null; // Forbidden Tile Entity? if(!WandUtil.isTEAllowed(blockState)) return null; @@ -108,11 +106,6 @@ public class PlaceSnapshot implements ISnapshot // No entities colliding? if(WandUtil.entitiesCollidingWithBlock(world, blockState, pos)) return null; - // Adjust blockstate to neighbors - // TODO: verify that - blockState = Block.updateFromNeighbourShapes(blockState, world, pos); - if(blockState.getBlock() == Blocks.AIR || !blockState.canSurvive(world, pos)) return null; - // Copy block properties from supporting block if(targetMode && supportingBlock != null) { // Block properties to be copied (alignment/rotation properties) From 0bff12e927fe1ef7b0ff3960ded8db8ceb206b15 Mon Sep 17 00:00:00 2001 From: RuyaSavascisi Date: Tue, 16 Jul 2024 09:27:21 +0300 Subject: [PATCH 2/2] tr_tr.json Turkish Localization for the mod --- .../assets/constructionwand/lang/tr_tr.json | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/main/resources/assets/constructionwand/lang/tr_tr.json diff --git a/src/main/resources/assets/constructionwand/lang/tr_tr.json b/src/main/resources/assets/constructionwand/lang/tr_tr.json new file mode 100644 index 0000000..05f5044 --- /dev/null +++ b/src/main/resources/assets/constructionwand/lang/tr_tr.json @@ -0,0 +1,70 @@ +{ + "item.constructionwand.stone_wand": "Taş Asa", + "item.constructionwand.iron_wand": "Demir Asa", + "item.constructionwand.diamond_wand": "Elmas Asa", + "item.constructionwand.infinity_wand": "Sonsuzluk Asası", + "item.constructionwand.core_angel": "Melek Asa Çekirdeği", + "item.constructionwand.core_destruction": "Yıkım Asa Çekirdeği", + + "constructionwand.tooltip.blocks": "Maks. %d blok", + "constructionwand.tooltip.shift": "[SHIFT] bas", + "constructionwand.tooltip.cores": "Asa çekirdekleri:", + "constructionwand.tooltip.core_tip": "Çekirdeği asanızla birlikte üretim ızgarasında birleştirin", + + "constructionwand.option.cores": "", + "constructionwand.option.cores.constructionwand:default": "İnşa Çekirdeği", + "constructionwand.option.cores.constructionwand:default.desc": "Yapınızın size bakan tarafını uzatır", + "constructionwand.option.cores.constructionwand:core_angel": "§6Melek Çekirdeği", + "constructionwand.option.cores.constructionwand:core_angel.desc": "Blokların arkasına ve havaya yerleştirir", + "constructionwand.option.cores.constructionwand:core_destruction": "§cYıkım Çekirdeği", + "constructionwand.option.cores.constructionwand:core_destruction.desc": "Size bakan taraftaki blokları yok eder", + + "constructionwand.option.lock": "Sınırlama: ", + "constructionwand.option.lock.horizontal": "§aSol/Sağ", + "constructionwand.option.lock.horizontal.desc": "Orijinal bloğun önüne yatay bir sütun oluşturur", + "constructionwand.option.lock.vertical": "§aYukarı/Aşağı", + "constructionwand.option.lock.vertical.desc": "Orijinal bloğun önünde dikey bir sütun oluşturur", + "constructionwand.option.lock.northsouth": "§6Kuzey/Güney", + "constructionwand.option.lock.northsouth.desc": "Orijinal bloğun üstüne K/G yönünde bir sıra oluşturun", + "constructionwand.option.lock.eastwest": "§6Doğu/Batı", + "constructionwand.option.lock.eastwest.desc": "Orijinal bloğun üstüne D/B yönünde bir sıra oluşturur", + "constructionwand.option.lock.nolock": "§cYok", + "constructionwand.option.lock.nolock.desc": "Orijinal bloğun herhangi bir tarafından uzatır", + + "constructionwand.option.direction": "Yön: ", + "constructionwand.option.direction.target": "§6Hedef", + "constructionwand.option.direction.target.desc": "Blokları hedef blokla aynı yönde yerleştirir", + "constructionwand.option.direction.player": "§aOyuncu", + "constructionwand.option.direction.player.desc": "Blokları oyuncuya bakacak şekilde yerleştirir", + + "constructionwand.option.replace": "Değiştirme: ", + "constructionwand.option.replace.yes": "§aEvet", + "constructionwand.option.replace.yes.desc": "Sıvılar, kar ve uzun otlar gibi belirli blokları değiştirir", + "constructionwand.option.replace.no": "§cHayır", + "constructionwand.option.replace.no.desc": "Blokları değiştirmez", + + "constructionwand.option.match": "Eşleşen: ", + "constructionwand.option.match.exact": "§aAynı", + "constructionwand.option.match.exact.desc": "Yalnızca tamamen aynı olan blokları uzatır", + "constructionwand.option.match.similar": "§6Benzer", + "constructionwand.option.match.similar.desc": "Benzer bloklara (toprak/çimen türleri) eşit davranır", + "constructionwand.option.match.any": "§cHerhangi", + "constructionwand.option.match.any.desc": "Herhangi bir bloğu uzatır", + + "constructionwand.option.random": "Rastgele: ", + "constructionwand.option.random.yes": "§aEvet", + "constructionwand.option.random.yes.desc": "Hotbar'ınızdan rastgele bloklar yerleştirir", + "constructionwand.option.random.no": "§cHayır", + "constructionwand.option.random.no.desc": "Yerleştirilen blokları rastgeleleştirmez", + + "constructionwand.description.wand": "%1$s, bir yapının size bakan tarafına en fazla %2$d blok yerleştirebilir ve %3$s dayanıklılığı vardır.\n\n%5$s tuşunu basılı tutun ve yerleştirme sınırlamasını değiştirmek için kaydırın (Yatay, Dikey, Kuzey/Güney, Doğu/Batı, Kilitsiz).\n\n%6$s§9+Sağ tıklama ile seçenek ekranını açın§0.\n\n§5§nGERİ ALMA§0§r\nBir bloğa bakarken §9Eğil+§0%4$s tuşunu basılı tuttuğunuzda, yerleştirdiğiniz son bloklar, çevresinde yeşil bir çerçeveyle gösterilecektir. §9Eğil+§0%4$s§9+Bunlardan herhangi birine sağ tıklama§0 işlemi geri alacak ve tüm öğeleri size geri verecektir. Yıkım çekirdeğini kullandıysanız blokları geri koyacaktır.\n\n§5§nKONTEYNERLER§0§r\nShulker kutuları, paketler ve diğer modlardan birçok konteyner, asa için yapı taşları sağlar.\n\n§5§nBOŞTAKİ EL ÖNCELİĞݧ0§r\nBoştaki elinizde blok olduğunda, baktığınız blok yerine boştaki elinizdekini yerleştirirsiniz.", + "constructionwand.description.durability.limited": "%d blok için", + "constructionwand.description.durability.unlimited": "sonsuza kadar", + "constructionwand.description.key.sneak": "Eğil", + "constructionwand.description.key.sneak_opt": "Eğil+%s", + "constructionwand.description.core": "§5§nKURULUM§0§r\nTakmak için yeni çekirdeğinizi asanızla birlikte bir üretim ızgarasına koyun. Çekirdekler arasında geçiş yapmak için %s tuşunu basılı tutun ve asanızla boş alana sol tıklayın veya seçenek ekranını kullanın", + "constructionwand.description.core_angel": "Melek çekirdeği, karşı karşıya olduğunuz bloğun (veya blok sırasının) karşı tarafına bir blok yerleştirir. Maksimum mesafe asa seviyesine bağlıdır. Havada bir blok yerleştirmek için boş alana sağ tıklayın. Bunu yapmak için, yerleştirmek istediğiniz bloğu boştaki elinize almalısınız.", + "constructionwand.description.core_destruction": "Yıkım çekirdeği, size bakan taraftaki blokları (tile entities haricinde) yok eder. Maksimum blok sayısı asa seviyesine bağlıdır. Yok edilen bloklar boşluğa kaybolur, hata yaptıysanız geri alma özelliğini kullanabilirsiniz.", + + "stat.constructionwand.use_wand": "Asa kullanılarak yerleştirilen bloklar" +} \ No newline at end of file