diff --git a/build.gradle b/build.gradle index 62b0ae3c..6d0a04c4 100644 --- a/build.gradle +++ b/build.gradle @@ -111,6 +111,8 @@ dependencies { compileOnly fg.deobf("mezz.jei:jei-${jei_mc_version}:${jei_version}") runtimeOnly fg.deobf("mezz.jei:jei-${jei_mc_version}:${jei_version}") compileOnly fg.deobf("curse.maven:rubidium-574856:${rubidium_cf_file_id}") + compileOnly fg.deobf("curse.maven:jade-324717:${jade_cf_file_id}") + //runtimeOnly fg.deobf("curse.maven:rubidium-574856:${rubidium_cf_file_id}") /* compileOnly fg.deobf("curse.maven:quark-243121:${quark_cf_file_id}") diff --git a/gradle.properties b/gradle.properties index e3c43222..1c2755b5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,11 @@ minecraft_version=1.20.1 forge_version=47.0.16 -mod_version=0.8.37 +mod_version=0.8.40 jei_mc_version=1.20.1-forge jei_version=15.1.0.19 rubidium_cf_file_id=4573226 quark_cf_file_id=4463411 autoreglib_cf_file_id=4100299 +jade_cf_file_id=4614153 sc_version=1.20.1-0.5.78.+ parchment_version=1.19.3-2023.03.12-1.20 diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ChestBlock.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ChestBlock.java index de5711d7..c38a9ebc 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ChestBlock.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ChestBlock.java @@ -52,7 +52,11 @@ public class ChestBlock extends WoodStorageBlockBase implements SimpleWaterlogge protected static final VoxelShape AABB = Block.box(1.0D, 0.0D, 1.0D, 15.0D, 14.0D, 15.0D); public ChestBlock(Supplier numberOfInventorySlotsSupplier, Supplier numberOfUpgradeSlotsSupplier) { - super(Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD), numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier); + this(numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier, 2.5F); + } + + public ChestBlock(Supplier numberOfInventorySlotsSupplier, Supplier numberOfUpgradeSlotsSupplier, float explosionResistance) { + super(Properties.of().mapColor(MapColor.WOOD).strength(2.5F, explosionResistance).sound(SoundType.WOOD), numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier); registerDefaultState(stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(WATERLOGGED, false).setValue(TICKING, false)); } diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ShulkerBoxBlock.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ShulkerBoxBlock.java index 16382372..dae22a2e 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ShulkerBoxBlock.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/ShulkerBoxBlock.java @@ -33,7 +33,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.EnumProperty; -import net.minecraft.world.level.material.MapColor; import net.minecraft.world.level.material.PushReaction; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.BlockHitResult; @@ -68,10 +67,14 @@ public class ShulkerBoxBlock extends StorageBlockBase implements IAdditionalDrop private static final VoxelShape ITEM_ENTITY_COLLISION_SHAPE = box(0.05, 0.05, 0.05, 15.95, 15.95, 15.95); public ShulkerBoxBlock(Supplier numberOfInventorySlotsSupplier, Supplier numberOfUpgradeSlotsSupplier) { - super(getProperties().mapColor(MapColor.COLOR_PURPLE), numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier); + this(numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier, 2.0F); } - private static Properties getProperties() { + public ShulkerBoxBlock(Supplier numberOfInventorySlotsSupplier, Supplier numberOfUpgradeSlotsSupplier, float explosionResistance) { + super(getProperties(explosionResistance), numberOfInventorySlotsSupplier, numberOfUpgradeSlotsSupplier); + } + + private static Properties getProperties(float explosionResistance) { BlockBehaviour.StatePredicate statePredicate = (state, blockGetter, pos) -> { BlockEntity blockentity = blockGetter.getBlockEntity(pos); if (!(blockentity instanceof ShulkerBoxBlockEntity shulkerboxblockentity)) { @@ -80,7 +83,7 @@ private static Properties getProperties() { return shulkerboxblockentity.isClosed(); } }; - return BlockBehaviour.Properties.of().strength(2.0F).dynamicShape().noOcclusion().isSuffocating(statePredicate).isViewBlocking(statePredicate).pushReaction(PushReaction.DESTROY); + return BlockBehaviour.Properties.of().strength(2.0F, explosionResistance).dynamicShape().noOcclusion().isSuffocating(statePredicate).isViewBlocking(statePredicate).pushReaction(PushReaction.DESTROY).mapColor(DyeColor.PURPLE); } @Override diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/StorageBlockEntity.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/StorageBlockEntity.java index 1afdfa55..214fbef3 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/StorageBlockEntity.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/block/StorageBlockEntity.java @@ -44,6 +44,7 @@ import java.util.Set; import java.util.UUID; import java.util.function.Consumer; +import java.util.function.Supplier; public abstract class StorageBlockEntity extends BlockEntity implements IControllableStorage, ILinkable, ILockable, Nameable, ITierDisplay, IUpgradeDisplay { public static final String STORAGE_WRAPPER_TAG = "storageWrapper"; @@ -136,7 +137,7 @@ protected boolean emptyInventorySlotsAcceptItems() { public ITrackedContentsItemHandler getInventoryForInputOutput() { if (locked && allowsEmptySlotsMatchingItemInsertsWhenLocked()) { if (contentsFilteredItemHandler == null) { - contentsFilteredItemHandler = new ContentsFilteredItemHandler(super.getInventoryForInputOutput(), storageWrapper.getInventoryHandler().getSlotTracker()); + contentsFilteredItemHandler = new ContentsFilteredItemHandler(super.getInventoryForInputOutput(), storageWrapper.getInventoryHandler().getSlotTracker(), () -> getStorageWrapper().getSettingsHandler().getTypeCategory(MemorySettingsCategory.class)); } return contentsFilteredItemHandler; } @@ -589,10 +590,12 @@ private static class ContentsFilteredItemHandler implements ITrackedContentsItem private final ITrackedContentsItemHandler itemHandler; private ISlotTracker slotTracker; + private final Supplier memorySettingsGetter; - private ContentsFilteredItemHandler(ITrackedContentsItemHandler itemHandler, ISlotTracker slotTracker) { + private ContentsFilteredItemHandler(ITrackedContentsItemHandler itemHandler, ISlotTracker slotTracker, Supplier memorySettingsGetter) { this.itemHandler = itemHandler; this.slotTracker = slotTracker; + this.memorySettingsGetter = memorySettingsGetter; } @Override @@ -632,7 +635,7 @@ public boolean isItemValid(int slot, @Nonnull ItemStack stack) { } private boolean matchesContents(ItemStack stack) { - return slotTracker.getItems().contains(stack.getItem()); + return slotTracker.getItems().contains(stack.getItem()) || memorySettingsGetter.get().matchesFilter(stack); } @Override diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/compat/jade/StorageJadePlugin.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/compat/jade/StorageJadePlugin.java new file mode 100644 index 00000000..090c1a93 --- /dev/null +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/compat/jade/StorageJadePlugin.java @@ -0,0 +1,22 @@ +package net.p3pp3rf1y.sophisticatedstorage.compat.jade; + +import net.minecraft.world.level.block.Block; +import net.p3pp3rf1y.sophisticatedstorage.block.WoodStorageBlockBase; +import net.p3pp3rf1y.sophisticatedstorage.init.ModBlocks; +import snownee.jade.api.IWailaClientRegistration; +import snownee.jade.api.IWailaPlugin; +import snownee.jade.api.WailaPlugin; + +@SuppressWarnings("unused") //used by Jade's reflection +@WailaPlugin +public class StorageJadePlugin implements IWailaPlugin { + @Override + public void registerClient(IWailaClientRegistration registration) { + ModBlocks.BLOCKS.getEntries().forEach(registeredBlock -> { + Block block = registeredBlock.get(); + if (block instanceof WoodStorageBlockBase) { + registration.usePickedResult(block); + } + }); + } +} diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/init/ModBlocks.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/init/ModBlocks.java index 710672d0..253aa226 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/init/ModBlocks.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/init/ModBlocks.java @@ -11,6 +11,7 @@ import net.minecraft.world.inventory.MenuType; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; +import net.minecraft.world.item.Item.Properties; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; @@ -74,7 +75,7 @@ public class ModBlocks { private ModBlocks() {} public static final TagKey BASE_TIER_WOODEN_STORAGE_TAG = TagKey.create(ForgeRegistries.ITEMS.getRegistryKey(), SophisticatedStorage.getRL("base_tier_wooden_storage")); - private static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, SophisticatedStorage.MOD_ID); + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, SophisticatedStorage.MOD_ID); public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, SophisticatedStorage.MOD_ID); private static final DeferredRegister> BLOCK_ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, SophisticatedStorage.MOD_ID); private static final DeferredRegister> MENU_TYPES = DeferredRegister.create(ForgeRegistries.MENU_TYPES, SophisticatedStorage.MOD_ID); @@ -89,101 +90,101 @@ private ModBlocks() {} public static final RegistryObject DIAMOND_BARREL = BLOCKS.register("diamond_barrel", () -> new BarrelBlock(Config.SERVER.diamondBarrel.inventorySlotCount, Config.SERVER.diamondBarrel.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); public static final RegistryObject NETHERITE_BARREL = BLOCKS.register("netherite_barrel", () -> new BarrelBlock(Config.SERVER.netheriteBarrel.inventorySlotCount, Config.SERVER.netheriteBarrel.upgradeSlotCount, - BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); + BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F, 1200).sound(SoundType.WOOD))); public static final RegistryObject BARREL_ITEM = ITEMS.register(BARREL_REG_NAME, () -> new BarrelBlockItem(BARREL.get())); public static final RegistryObject IRON_BARREL_ITEM = ITEMS.register("iron_barrel", () -> new BarrelBlockItem(IRON_BARREL.get())); public static final RegistryObject GOLD_BARREL_ITEM = ITEMS.register("gold_barrel", () -> new BarrelBlockItem(GOLD_BARREL.get())); public static final RegistryObject DIAMOND_BARREL_ITEM = ITEMS.register("diamond_barrel", () -> new BarrelBlockItem(DIAMOND_BARREL.get())); - public static final RegistryObject NETHERITE_BARREL_ITEM = ITEMS.register("netherite_barrel", () -> new BarrelBlockItem(NETHERITE_BARREL.get())); + public static final RegistryObject NETHERITE_BARREL_ITEM = ITEMS.register("netherite_barrel", () -> new BarrelBlockItem(NETHERITE_BARREL.get(), new Properties().fireResistant())); private static final String LIMITED_BARREL_REG_NAME = LIMITED_BARREL_NAME; - public static final RegistryObject LIMITED_BARREL_1 = BLOCKS.register("limited_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.limitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.limitedBarrel1.upgradeSlotCount::get, - BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_IRON_BARREL_1 = BLOCKS.register("limited_iron_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.ironLimitedBarrel1.baseSlotLimitMultiplier::get, Config.SERVER.ironLimitedBarrel1.upgradeSlotCount::get, + public static final RegistryObject LIMITED_BARREL_1 = BLOCKS.register("limited_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.limitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.limitedBarrel1.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_GOLD_BARREL_1 = BLOCKS.register("limited_gold_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.goldLimitedBarrel1.baseSlotLimitMultiplier::get, Config.SERVER.goldLimitedBarrel1.upgradeSlotCount::get, + public static final RegistryObject LIMITED_IRON_BARREL_1 = BLOCKS.register("limited_iron_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.ironLimitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.ironLimitedBarrel1.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_DIAMOND_BARREL_1 = BLOCKS.register("limited_diamond_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.diamondLimitedBarrel1.baseSlotLimitMultiplier::get, Config.SERVER.diamondLimitedBarrel1.upgradeSlotCount::get, + public static final RegistryObject LIMITED_GOLD_BARREL_1 = BLOCKS.register("limited_gold_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.goldLimitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.goldLimitedBarrel1.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_NETHERITE_BARREL_1 = BLOCKS.register("limited_netherite_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.netheriteLimitedBarrel1.baseSlotLimitMultiplier::get, Config.SERVER.netheriteLimitedBarrel1.upgradeSlotCount::get, + public static final RegistryObject LIMITED_DIAMOND_BARREL_1 = BLOCKS.register("limited_diamond_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.diamondLimitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.diamondLimitedBarrel1.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); + public static final RegistryObject LIMITED_NETHERITE_BARREL_1 = BLOCKS.register("limited_netherite_barrel_1", () -> new LimitedBarrelBlock(1, Config.SERVER.netheriteLimitedBarrel1.baseSlotLimitMultiplier, Config.SERVER.netheriteLimitedBarrel1.upgradeSlotCount, + BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F, 1200).sound(SoundType.WOOD))); public static final RegistryObject LIMITED_BARREL_1_ITEM = ITEMS.register("limited_barrel_1", () -> new BarrelBlockItem(LIMITED_BARREL_1.get())); public static final RegistryObject LIMITED_IRON_BARREL_1_ITEM = ITEMS.register("limited_iron_barrel_1", () -> new BarrelBlockItem(LIMITED_IRON_BARREL_1.get())); public static final RegistryObject LIMITED_GOLD_BARREL_1_ITEM = ITEMS.register("limited_gold_barrel_1", () -> new BarrelBlockItem(LIMITED_GOLD_BARREL_1.get())); public static final RegistryObject LIMITED_DIAMOND_BARREL_1_ITEM = ITEMS.register("limited_diamond_barrel_1", () -> new BarrelBlockItem(LIMITED_DIAMOND_BARREL_1.get())); - public static final RegistryObject LIMITED_NETHERITE_BARREL_1_ITEM = ITEMS.register("limited_netherite_barrel_1", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_1.get())); + public static final RegistryObject LIMITED_NETHERITE_BARREL_1_ITEM = ITEMS.register("limited_netherite_barrel_1", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_1.get(), new Properties().fireResistant())); - public static final RegistryObject LIMITED_BARREL_2 = BLOCKS.register("limited_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.limitedBarrel2.baseSlotLimitMultiplier::get, Config.SERVER.limitedBarrel2.upgradeSlotCount::get, - BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_IRON_BARREL_2 = BLOCKS.register("limited_iron_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.ironLimitedBarrel2.baseSlotLimitMultiplier::get, Config.SERVER.ironLimitedBarrel2.upgradeSlotCount::get, + public static final RegistryObject LIMITED_BARREL_2 = BLOCKS.register("limited_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.limitedBarrel2.baseSlotLimitMultiplier, Config.SERVER.limitedBarrel2.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_GOLD_BARREL_2 = BLOCKS.register("limited_gold_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.goldLimitedBarrel2.baseSlotLimitMultiplier::get, Config.SERVER.goldLimitedBarrel2.upgradeSlotCount::get, + public static final RegistryObject LIMITED_IRON_BARREL_2 = BLOCKS.register("limited_iron_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.ironLimitedBarrel2.baseSlotLimitMultiplier, Config.SERVER.ironLimitedBarrel2.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_DIAMOND_BARREL_2 = BLOCKS.register("limited_diamond_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.diamondLimitedBarrel2.baseSlotLimitMultiplier::get, Config.SERVER.diamondLimitedBarrel2.upgradeSlotCount::get, + public static final RegistryObject LIMITED_GOLD_BARREL_2 = BLOCKS.register("limited_gold_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.goldLimitedBarrel2.baseSlotLimitMultiplier, Config.SERVER.goldLimitedBarrel2.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_NETHERITE_BARREL_2 = BLOCKS.register("limited_netherite_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.netheriteLimitedBarrel2.baseSlotLimitMultiplier::get, Config.SERVER.netheriteLimitedBarrel2.upgradeSlotCount::get, + public static final RegistryObject LIMITED_DIAMOND_BARREL_2 = BLOCKS.register("limited_diamond_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.diamondLimitedBarrel2.baseSlotLimitMultiplier, Config.SERVER.diamondLimitedBarrel2.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); + public static final RegistryObject LIMITED_NETHERITE_BARREL_2 = BLOCKS.register("limited_netherite_barrel_2", () -> new LimitedBarrelBlock(2, Config.SERVER.netheriteLimitedBarrel2.baseSlotLimitMultiplier, Config.SERVER.netheriteLimitedBarrel2.upgradeSlotCount, + BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F, 1200).sound(SoundType.WOOD))); public static final RegistryObject LIMITED_BARREL_2_ITEM = ITEMS.register("limited_barrel_2", () -> new BarrelBlockItem(LIMITED_BARREL_2.get())); public static final RegistryObject LIMITED_IRON_BARREL_2_ITEM = ITEMS.register("limited_iron_barrel_2", () -> new BarrelBlockItem(LIMITED_IRON_BARREL_2.get())); public static final RegistryObject LIMITED_GOLD_BARREL_2_ITEM = ITEMS.register("limited_gold_barrel_2", () -> new BarrelBlockItem(LIMITED_GOLD_BARREL_2.get())); public static final RegistryObject LIMITED_DIAMOND_BARREL_2_ITEM = ITEMS.register("limited_diamond_barrel_2", () -> new BarrelBlockItem(LIMITED_DIAMOND_BARREL_2.get())); - public static final RegistryObject LIMITED_NETHERITE_BARREL_2_ITEM = ITEMS.register("limited_netherite_barrel_2", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_2.get())); + public static final RegistryObject LIMITED_NETHERITE_BARREL_2_ITEM = ITEMS.register("limited_netherite_barrel_2", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_2.get(), new Properties().fireResistant())); - public static final RegistryObject LIMITED_BARREL_3 = BLOCKS.register("limited_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.limitedBarrel3.baseSlotLimitMultiplier::get, Config.SERVER.limitedBarrel3.upgradeSlotCount::get, + public static final RegistryObject LIMITED_BARREL_3 = BLOCKS.register("limited_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.limitedBarrel3.baseSlotLimitMultiplier, Config.SERVER.limitedBarrel3.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_IRON_BARREL_3 = BLOCKS.register("limited_iron_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.ironLimitedBarrel3.baseSlotLimitMultiplier::get, Config.SERVER.ironLimitedBarrel3.upgradeSlotCount::get, + public static final RegistryObject LIMITED_IRON_BARREL_3 = BLOCKS.register("limited_iron_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.ironLimitedBarrel3.baseSlotLimitMultiplier, Config.SERVER.ironLimitedBarrel3.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_GOLD_BARREL_3 = BLOCKS.register("limited_gold_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.goldLimitedBarrel3.baseSlotLimitMultiplier::get, Config.SERVER.goldLimitedBarrel3.upgradeSlotCount::get, + public static final RegistryObject LIMITED_GOLD_BARREL_3 = BLOCKS.register("limited_gold_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.goldLimitedBarrel3.baseSlotLimitMultiplier, Config.SERVER.goldLimitedBarrel3.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_DIAMOND_BARREL_3 = BLOCKS.register("limited_diamond_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.diamondLimitedBarrel3.baseSlotLimitMultiplier::get, Config.SERVER.diamondLimitedBarrel3.upgradeSlotCount::get, - BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_NETHERITE_BARREL_3 = BLOCKS.register("limited_netherite_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.netheriteLimitedBarrel3.baseSlotLimitMultiplier::get, Config.SERVER.netheriteLimitedBarrel3.upgradeSlotCount::get, + public static final RegistryObject LIMITED_DIAMOND_BARREL_3 = BLOCKS.register("limited_diamond_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.diamondLimitedBarrel3.baseSlotLimitMultiplier, Config.SERVER.diamondLimitedBarrel3.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); + public static final RegistryObject LIMITED_NETHERITE_BARREL_3 = BLOCKS.register("limited_netherite_barrel_3", () -> new LimitedBarrelBlock(3, Config.SERVER.netheriteLimitedBarrel3.baseSlotLimitMultiplier, Config.SERVER.netheriteLimitedBarrel3.upgradeSlotCount, + BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F, 1200).sound(SoundType.WOOD))); public static final RegistryObject LIMITED_BARREL_3_ITEM = ITEMS.register("limited_barrel_3", () -> new BarrelBlockItem(LIMITED_BARREL_3.get())); public static final RegistryObject LIMITED_IRON_BARREL_3_ITEM = ITEMS.register("limited_iron_barrel_3", () -> new BarrelBlockItem(LIMITED_IRON_BARREL_3.get())); public static final RegistryObject LIMITED_GOLD_BARREL_3_ITEM = ITEMS.register("limited_gold_barrel_3", () -> new BarrelBlockItem(LIMITED_GOLD_BARREL_3.get())); public static final RegistryObject LIMITED_DIAMOND_BARREL_3_ITEM = ITEMS.register("limited_diamond_barrel_3", () -> new BarrelBlockItem(LIMITED_DIAMOND_BARREL_3.get())); - public static final RegistryObject LIMITED_NETHERITE_BARREL_3_ITEM = ITEMS.register("limited_netherite_barrel_3", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_3.get())); + public static final RegistryObject LIMITED_NETHERITE_BARREL_3_ITEM = ITEMS.register("limited_netherite_barrel_3", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_3.get(), new Properties().fireResistant())); - public static final RegistryObject LIMITED_BARREL_4 = BLOCKS.register("limited_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.limitedBarrel4.baseSlotLimitMultiplier::get, Config.SERVER.limitedBarrel4.upgradeSlotCount::get, - BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_IRON_BARREL_4 = BLOCKS.register("limited_iron_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.ironLimitedBarrel4.baseSlotLimitMultiplier::get, Config.SERVER.ironLimitedBarrel4.upgradeSlotCount::get, + public static final RegistryObject LIMITED_BARREL_4 = BLOCKS.register("limited_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.limitedBarrel4.baseSlotLimitMultiplier, Config.SERVER.limitedBarrel4.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_GOLD_BARREL_4 = BLOCKS.register("limited_gold_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.goldLimitedBarrel4.baseSlotLimitMultiplier::get, Config.SERVER.goldLimitedBarrel4.upgradeSlotCount::get, + public static final RegistryObject LIMITED_IRON_BARREL_4 = BLOCKS.register("limited_iron_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.ironLimitedBarrel4.baseSlotLimitMultiplier, Config.SERVER.ironLimitedBarrel4.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_DIAMOND_BARREL_4 = BLOCKS.register("limited_diamond_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.diamondLimitedBarrel4.baseSlotLimitMultiplier::get, Config.SERVER.diamondLimitedBarrel4.upgradeSlotCount::get, + public static final RegistryObject LIMITED_GOLD_BARREL_4 = BLOCKS.register("limited_gold_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.goldLimitedBarrel4.baseSlotLimitMultiplier, Config.SERVER.goldLimitedBarrel4.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); - public static final RegistryObject LIMITED_NETHERITE_BARREL_4 = BLOCKS.register("limited_netherite_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.netheriteLimitedBarrel4.baseSlotLimitMultiplier::get, Config.SERVER.netheriteLimitedBarrel4.upgradeSlotCount::get, + public static final RegistryObject LIMITED_DIAMOND_BARREL_4 = BLOCKS.register("limited_diamond_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.diamondLimitedBarrel4.baseSlotLimitMultiplier, Config.SERVER.diamondLimitedBarrel4.upgradeSlotCount, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F).sound(SoundType.WOOD))); + public static final RegistryObject LIMITED_NETHERITE_BARREL_4 = BLOCKS.register("limited_netherite_barrel_4", () -> new LimitedBarrelBlock(4, Config.SERVER.netheriteLimitedBarrel4.baseSlotLimitMultiplier, Config.SERVER.netheriteLimitedBarrel4.upgradeSlotCount, + BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).strength(2.5F, 1200).sound(SoundType.WOOD))); public static final RegistryObject LIMITED_BARREL_4_ITEM = ITEMS.register("limited_barrel_4", () -> new BarrelBlockItem(LIMITED_BARREL_4.get())); public static final RegistryObject LIMITED_IRON_BARREL_4_ITEM = ITEMS.register("limited_iron_barrel_4", () -> new BarrelBlockItem(LIMITED_IRON_BARREL_4.get())); public static final RegistryObject LIMITED_GOLD_BARREL_4_ITEM = ITEMS.register("limited_gold_barrel_4", () -> new BarrelBlockItem(LIMITED_GOLD_BARREL_4.get())); public static final RegistryObject LIMITED_DIAMOND_BARREL_4_ITEM = ITEMS.register("limited_diamond_barrel_4", () -> new BarrelBlockItem(LIMITED_DIAMOND_BARREL_4.get())); - public static final RegistryObject LIMITED_NETHERITE_BARREL_4_ITEM = ITEMS.register("limited_netherite_barrel_4", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_4.get())); + public static final RegistryObject LIMITED_NETHERITE_BARREL_4_ITEM = ITEMS.register("limited_netherite_barrel_4", () -> new BarrelBlockItem(LIMITED_NETHERITE_BARREL_4.get(), new Properties().fireResistant())); private static final String CHEST_REG_NAME = "chest"; public static final RegistryObject CHEST = BLOCKS.register(CHEST_REG_NAME, () -> new ChestBlock(Config.SERVER.woodChest.inventorySlotCount, Config.SERVER.woodChest.upgradeSlotCount)); public static final RegistryObject IRON_CHEST = BLOCKS.register("iron_chest", () -> new ChestBlock(Config.SERVER.ironChest.inventorySlotCount, Config.SERVER.ironChest.upgradeSlotCount)); public static final RegistryObject GOLD_CHEST = BLOCKS.register("gold_chest", () -> new ChestBlock(Config.SERVER.goldChest.inventorySlotCount, Config.SERVER.goldChest.upgradeSlotCount)); public static final RegistryObject DIAMOND_CHEST = BLOCKS.register("diamond_chest", () -> new ChestBlock(Config.SERVER.diamondChest.inventorySlotCount, Config.SERVER.diamondChest.upgradeSlotCount)); - public static final RegistryObject NETHERITE_CHEST = BLOCKS.register("netherite_chest", () -> new ChestBlock(Config.SERVER.netheriteChest.inventorySlotCount, Config.SERVER.netheriteChest.upgradeSlotCount)); + public static final RegistryObject NETHERITE_CHEST = BLOCKS.register("netherite_chest", () -> new ChestBlock(Config.SERVER.netheriteChest.inventorySlotCount, Config.SERVER.netheriteChest.upgradeSlotCount, 1200)); public static final RegistryObject CHEST_ITEM = ITEMS.register(CHEST_REG_NAME, () -> new ChestBlockItem(CHEST.get())); public static final RegistryObject IRON_CHEST_ITEM = ITEMS.register("iron_chest", () -> new ChestBlockItem(IRON_CHEST.get())); public static final RegistryObject GOLD_CHEST_ITEM = ITEMS.register("gold_chest", () -> new ChestBlockItem(GOLD_CHEST.get())); public static final RegistryObject DIAMOND_CHEST_ITEM = ITEMS.register("diamond_chest", () -> new ChestBlockItem(DIAMOND_CHEST.get())); - public static final RegistryObject NETHERITE_CHEST_ITEM = ITEMS.register("netherite_chest", () -> new ChestBlockItem(NETHERITE_CHEST.get())); + public static final RegistryObject NETHERITE_CHEST_ITEM = ITEMS.register("netherite_chest", () -> new ChestBlockItem(NETHERITE_CHEST.get(), new Properties().fireResistant())); private static final String SHULKER_BOX_REG_NAME = "shulker_box"; public static final RegistryObject SHULKER_BOX = BLOCKS.register(SHULKER_BOX_REG_NAME, () -> new ShulkerBoxBlock(Config.SERVER.shulkerBox.inventorySlotCount, Config.SERVER.shulkerBox.upgradeSlotCount)); public static final RegistryObject IRON_SHULKER_BOX = BLOCKS.register("iron_shulker_box", () -> new ShulkerBoxBlock(Config.SERVER.ironShulkerBox.inventorySlotCount, Config.SERVER.ironShulkerBox.upgradeSlotCount)); public static final RegistryObject GOLD_SHULKER_BOX = BLOCKS.register("gold_shulker_box", () -> new ShulkerBoxBlock(Config.SERVER.goldShulkerBox.inventorySlotCount, Config.SERVER.goldShulkerBox.upgradeSlotCount)); public static final RegistryObject DIAMOND_SHULKER_BOX = BLOCKS.register("diamond_shulker_box", () -> new ShulkerBoxBlock(Config.SERVER.diamondShulkerBox.inventorySlotCount, Config.SERVER.diamondShulkerBox.upgradeSlotCount)); - public static final RegistryObject NETHERITE_SHULKER_BOX = BLOCKS.register("netherite_shulker_box", () -> new ShulkerBoxBlock(Config.SERVER.netheriteShulkerBox.inventorySlotCount, Config.SERVER.netheriteShulkerBox.upgradeSlotCount)); + public static final RegistryObject NETHERITE_SHULKER_BOX = BLOCKS.register("netherite_shulker_box", () -> new ShulkerBoxBlock(Config.SERVER.netheriteShulkerBox.inventorySlotCount, Config.SERVER.netheriteShulkerBox.upgradeSlotCount, 1200)); public static final RegistryObject SHULKER_BOX_ITEM = ITEMS.register(SHULKER_BOX_REG_NAME, () -> new ShulkerBoxItem(SHULKER_BOX.get())); public static final RegistryObject IRON_SHULKER_BOX_ITEM = ITEMS.register("iron_shulker_box", () -> new ShulkerBoxItem(IRON_SHULKER_BOX.get())); public static final RegistryObject GOLD_SHULKER_BOX_ITEM = ITEMS.register("gold_shulker_box", () -> new ShulkerBoxItem(GOLD_SHULKER_BOX.get())); public static final RegistryObject DIAMOND_SHULKER_BOX_ITEM = ITEMS.register("diamond_shulker_box", () -> new ShulkerBoxItem(DIAMOND_SHULKER_BOX.get())); - public static final RegistryObject NETHERITE_SHULKER_BOX_ITEM = ITEMS.register("netherite_shulker_box", () -> new ShulkerBoxItem(NETHERITE_SHULKER_BOX.get())); + public static final RegistryObject NETHERITE_SHULKER_BOX_ITEM = ITEMS.register("netherite_shulker_box", () -> new ShulkerBoxItem(NETHERITE_SHULKER_BOX.get(), new Properties().stacksTo(1).fireResistant())); private static final String CONTROLLER_REG_NAME = "controller"; public static final RegistryObject CONTROLLER = BLOCKS.register(CONTROLLER_REG_NAME, ControllerBlock::new); diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/BarrelBlockItem.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/BarrelBlockItem.java index 91f2e5ab..e083f284 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/BarrelBlockItem.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/BarrelBlockItem.java @@ -17,7 +17,10 @@ public class BarrelBlockItem extends WoodStorageBlockItem { private static final String MATERIALS_TAG = "materials"; public BarrelBlockItem(Block block) { - super(block); + this(block, new Properties()); + } + public BarrelBlockItem(Block block, Properties properties) { + super(block, properties); } public static void toggleFlatTop(ItemStack stack) { diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ChestBlockItem.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ChestBlockItem.java index 3d20c25a..d21afdfe 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ChestBlockItem.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ChestBlockItem.java @@ -11,7 +11,10 @@ public class ChestBlockItem extends WoodStorageBlockItem { public ChestBlockItem(Block block) { - super(block); + this(block, new Properties()); + } + public ChestBlockItem(Block block, Properties properties) { + super(block, properties); } @Override diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ShulkerBoxItem.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ShulkerBoxItem.java index 13b4166c..d8695793 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ShulkerBoxItem.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/ShulkerBoxItem.java @@ -45,7 +45,11 @@ public class ShulkerBoxItem extends StorageBlockItem implements IStashStorageItem { public ShulkerBoxItem(Block block) { - super(block, new Properties().stacksTo(1)); + this(block, new Properties().stacksTo(1)); + } + + public ShulkerBoxItem(Block block, Properties properties) { + super(block, properties); } @Override @@ -63,7 +67,7 @@ public BlockEntityWithoutLevelRenderer getCustomRenderer() { @Override public void appendHoverText(ItemStack stack, @Nullable Level worldIn, List tooltip, TooltipFlag flagIn) { super.appendHoverText(stack, worldIn, tooltip, flagIn); - if (flagIn == TooltipFlag.Default.ADVANCED) { + if (flagIn == TooltipFlag.ADVANCED) { stack.getCapability(CapabilityStorageWrapper.getCapabilityInstance()) .ifPresent(w -> w.getContentsUuid().ifPresent(uuid -> tooltip.add(Component.literal("UUID: " + uuid).withStyle(ChatFormatting.DARK_GRAY)))); } diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/StorageBlockItem.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/StorageBlockItem.java index 9e550730..5023ab7b 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/StorageBlockItem.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/StorageBlockItem.java @@ -14,9 +14,6 @@ public class StorageBlockItem extends BlockItemBase implements ITintableBlockIte private static final String MAIN_COLOR_TAG = "mainColor"; private static final String SHOWS_TIER_TAG = "showsTier"; - public StorageBlockItem(Block block) { - this(block, new Properties()); - } public StorageBlockItem(Block block, Properties properties) { super(block, properties); } diff --git a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/WoodStorageBlockItem.java b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/WoodStorageBlockItem.java index 59b15bc3..9ba3bb6b 100644 --- a/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/WoodStorageBlockItem.java +++ b/src/main/java/net/p3pp3rf1y/sophisticatedstorage/item/WoodStorageBlockItem.java @@ -36,8 +36,8 @@ public class WoodStorageBlockItem extends StorageBlockItem { public static final String WOOD_TYPE_TAG = "woodType"; public static final String PACKED_TAG = "packed"; - public WoodStorageBlockItem(Block block) { - super(block); + public WoodStorageBlockItem(Block block, Properties properties) { + super(block, properties); } public static void setPacked(ItemStack storageStack, boolean packed) { @@ -52,7 +52,7 @@ public static boolean isPacked(ItemStack storageStack) { public void appendHoverText(ItemStack stack, @Nullable Level worldIn, List tooltip, TooltipFlag flagIn) { super.appendHoverText(stack, worldIn, tooltip, flagIn); if (isPacked(stack)) { - if (flagIn == TooltipFlag.Default.ADVANCED) { + if (flagIn == TooltipFlag.ADVANCED) { stack.getCapability(CapabilityStorageWrapper.getCapabilityInstance()) .ifPresent(w -> w.getContentsUuid().ifPresent(uuid -> tooltip.add(Component.literal("UUID: " + uuid).withStyle(ChatFormatting.DARK_GRAY)))); } diff --git a/src/main/resources/assets/sophisticatedstorage/lang/es_mx.json b/src/main/resources/assets/sophisticatedstorage/lang/es_mx.json new file mode 100644 index 00000000..8e33e0af --- /dev/null +++ b/src/main/resources/assets/sophisticatedstorage/lang/es_mx.json @@ -0,0 +1,191 @@ +{ + "wood_name.sophisticatedstorage.oak" : " de roble", + "wood_name.sophisticatedstorage.spruce" : " de abeto", + "wood_name.sophisticatedstorage.birch" : " de abedul", + "wood_name.sophisticatedstorage.acacia" : " de acacia", + "wood_name.sophisticatedstorage.jungle" : " de jungla", + "wood_name.sophisticatedstorage.dark_oak" : " de roble oscuro", + "wood_name.sophisticatedstorage.crimson" : " carmesí", + "wood_name.sophisticatedstorage.mangrove" : " de mangle", + "wood_name.sophisticatedstorage.warped" : " distorsionado", + "itemGroup.sophisticatedstorage": "Sophisticated Storage", + "item.sophisticatedstorage.packing_tape": "Cinta de empaquetado", + "item.sophisticatedstorage.storage_tool": "Herramienta de almacenes", + "item.sophisticatedstorage.storage_tool.tooltip": "Conecta, bloquea, oculta contadores/niveles/bloqueos en almacenes", + "item.sophisticatedstorage.storage_tool.tooltip.controls": "Usa <%s> para cambiar el modo", + "item.sophisticatedstorage.storage_tool.tooltip.controls.combination": "Agacharte + Desplazar", + "item.sophisticatedstorage.storage_tool.overlay.linking": "Conectando al controlador en x:%s y:%s z:%s", + "item.sophisticatedstorage.storage_tool.overlay.unlinking": "Desconectando del controlador", + "item.sophisticatedstorage.storage_tool.overlay.toggling_lock": "Bloqueo/Desbloqueo", + "item.sophisticatedstorage.storage_tool.overlay.toggling_lock_display": "Mostrando/Ocultando bloqueo(s)", + "item.sophisticatedstorage.storage_tool.overlay.toggling_count_display": "Mostrando/Ocultando contador(es)", + "item.sophisticatedstorage.storage_tool.overlay.toggling_tier_display": "Mostrando/Ocultando nivel(es)", + "item.sophisticatedstorage.storage_tool.overlay.toggling_upgrades_display": "Mostrando/Ocultando mejoras", + "item.sophisticatedstorage.debug_tool": "Herramienta de debug", + "item.sophisticatedstorage.storage_link": "Conector de almacenes", + "block.sophisticatedstorage.storage_link.tooltip": "Conecta varios bloques separados de almacenes al controlador\nUtiliza la herramienta de almacenes para conectar al controlador", + "block.sophisticatedstorage.storage_link": "Conector de almacenes", + "item.sophisticatedstorage.controller": "Controlador de almacenamiento", + "block.sophisticatedstorage.controller.tooltip": "Permite depositar y envíar ítems hacia y desde varios almacenes conectados", + "block.sophisticatedstorage.controller": "Controlador de almacenamiento", + "block.sophisticatedstorage.barrel": "Barril%s", + "block.sophisticatedstorage.iron_barrel": "Barril de hierro%s", + "block.sophisticatedstorage.gold_barrel": "Barril de oro%s", + "block.sophisticatedstorage.diamond_barrel": "Barril de diamante%s", + "block.sophisticatedstorage.netherite_barrel": "Barril de netherita%s", + "block.sophisticatedstorage.limited_barrel_1": "Barril%s limitado I", + "block.sophisticatedstorage.limited_barrel_2": "Barril%s limitado II", + "block.sophisticatedstorage.limited_barrel_3": "Barril%s limitado III", + "block.sophisticatedstorage.limited_barrel_4": "Barril%s limitado IV", + "block.sophisticatedstorage.limited_barrel_singular.tooltip": "%s slot, multiplicador x%s de tamaño de stack base", + "block.sophisticatedstorage.limited_barrel_plural.tooltip": "%s slots, multiplicador x%s de tamaño de stack base", + "block.sophisticatedstorage.limited_iron_barrel_1": "Barril de hierro%s limitado I", + "block.sophisticatedstorage.limited_iron_barrel_2": "Barril de hierro%s limitado II", + "block.sophisticatedstorage.limited_iron_barrel_3": "Barril de hierro%s limitado III", + "block.sophisticatedstorage.limited_iron_barrel_4": "Barril de hierro%s limitado IV", + "block.sophisticatedstorage.limited_gold_barrel_1": "Barril de oro%s limitado I", + "block.sophisticatedstorage.limited_gold_barrel_2": "Barril de oro%s limitado II", + "block.sophisticatedstorage.limited_gold_barrel_3": "Barril de oro%s limitado III", + "block.sophisticatedstorage.limited_gold_barrel_4": "Barril de oro%s limitado IV", + "block.sophisticatedstorage.limited_diamond_barrel_1": "Barril de diamante%s limitado I", + "block.sophisticatedstorage.limited_diamond_barrel_2": "Barril de diamante%s limitado II", + "block.sophisticatedstorage.limited_diamond_barrel_3": "Barril de diamante%s limitado III", + "block.sophisticatedstorage.limited_diamond_barrel_4": "Barril de diamante%s limitado IV", + "block.sophisticatedstorage.limited_netherite_barrel_1": "Barril de netherita%s limitado I", + "block.sophisticatedstorage.limited_netherite_barrel_2": "Barril de netherita%s limitado II", + "block.sophisticatedstorage.limited_netherite_barrel_3": "Barril de netherita%s limitado III", + "block.sophisticatedstorage.limited_netherite_barrel_4": "Barril de netherita%s limitado IV", + "block.sophisticatedstorage.barrel.tooltip.flat_top": " (Parte superior plana)", + "block.sophisticatedstorage.chest": "Cofre%s", + "block.sophisticatedstorage.iron_chest": "Cofre de hierro%s", + "block.sophisticatedstorage.gold_chest": "Cofre de oro%s", + "block.sophisticatedstorage.diamond_chest": "Cofre de diamante%s", + "block.sophisticatedstorage.netherite_chest": "Cofre de netherita%s", + "item.sophisticatedstorage.shulker_box": "Caja de shulker", + "block.sophisticatedstorage.shulker_box": "Caja de shulker", + "item.sophisticatedstorage.iron_shulker_box": "Caja de shulker de hierro", + "block.sophisticatedstorage.iron_shulker_box": "Caja de shulker de hierro", + "item.sophisticatedstorage.gold_shulker_box": "Caja de shulker de oro", + "block.sophisticatedstorage.gold_shulker_box": "Caja de shulker de oro", + "item.sophisticatedstorage.diamond_shulker_box": "Caja de shulker de diamante", + "block.sophisticatedstorage.diamond_shulker_box": "Caja de shulker de diamante", + "item.sophisticatedstorage.netherite_shulker_box": "Caja de shulker de netherita", + "block.sophisticatedstorage.netherite_shulker_box": "Caja de shulker de netherita", + "item.sophisticatedstorage.basic_tier_upgrade": "Mejora de nivel básico", + "item.sophisticatedstorage.basic_tier_upgrade.tooltip": "Mejora inventarios vanilla a su versión sofisticada", + "item.sophisticatedstorage.basic_to_iron_tier_upgrade": "Mejora de nivel básico a hierro", + "item.sophisticatedstorage.basic_to_gold_tier_upgrade": "Mejora de nivel básico a oro", + "item.sophisticatedstorage.basic_to_diamond_tier_upgrade": "Mejora de nivel básico a diamante", + "item.sophisticatedstorage.basic_to_netherite_tier_upgrade": "Mejora de nivel básico a netherita", + "item.sophisticatedstorage.iron_to_gold_tier_upgrade": "Mejora de nivel hierro a oro", + "item.sophisticatedstorage.iron_to_diamond_tier_upgrade": "Mejora de nivel hierro a diamante", + "item.sophisticatedstorage.iron_to_netherite_tier_upgrade": "Mejora de nivel hierro a netherita", + "item.sophisticatedstorage.gold_to_diamond_tier_upgrade": "Mejora de nivel oro a diamante", + "item.sophisticatedstorage.gold_to_netherite_tier_upgrade": "Mejora de nivel oro a netherita", + "item.sophisticatedstorage.diamond_to_netherite_tier_upgrade": "Mejora de nivel diamante a netherita", + "item.sophisticatedstorage.upgrade_base": "Base de mejora", + "item.sophisticatedstorage.pickup_upgrade": "Mejora de recolección", + "item.sophisticatedstorage.pickup_upgrade.tooltip": "Hace que el almacén recolecte ítems", + "item.sophisticatedstorage.advanced_pickup_upgrade": "Mejora de recolección avanzada", + "item.sophisticatedstorage.advanced_pickup_upgrade.tooltip": "Hace que el almacén recolecte ítems\nTiene más opciones de filtrado", + "item.sophisticatedstorage.filter_upgrade": "Mejora de filtrado", + "item.sophisticatedstorage.filter_upgrade.tooltip": "Filtra ítems entrantes y/o salientes del almacén", + "item.sophisticatedstorage.advanced_filter_upgrade": "Mejora de filtrado avanzada", + "item.sophisticatedstorage.advanced_filter_upgrade.tooltip": "Filtra ítems entrantes y/o salientes del almacén\nTiene más opciones de filtrado", + "item.sophisticatedstorage.magnet_upgrade": "Mejora de imán", + "item.sophisticatedstorage.magnet_upgrade.tooltip": "Atrae ítems hacia el almacén a distancia", + "item.sophisticatedstorage.advanced_magnet_upgrade": "Mejora de imán avanzada", + "item.sophisticatedstorage.advanced_magnet_upgrade.tooltip": "Atrae ítems hacia el almacén a una mayor distancia\nTiene más opciones de filtrado", + "item.sophisticatedstorage.feeding_upgrade": "Mejora de alimentación", + "item.sophisticatedstorage.feeding_upgrade.tooltip": "Alimenta al jugador con comida del inventario del almacén", + "item.sophisticatedstorage.advanced_feeding_upgrade": "Mejora de alimentación avanzada", + "item.sophisticatedstorage.advanced_feeding_upgrade.tooltip": "Alimenta al jugador con comida del inventario del almacén\nMás opciones para cuando alimentar al jugador con comida", + "item.sophisticatedstorage.compacting_upgrade": "Mejora de compactado", + "item.sophisticatedstorage.compacting_upgrade.tooltip": "Comprime ítems en su variante comprimida\nSolo recetas de 2x2", + "item.sophisticatedstorage.advanced_compacting_upgrade": "Mejora de compactado avanzada", + "item.sophisticatedstorage.advanced_compacting_upgrade.tooltip": "Compacta ítems en su variante comprimida\nRecetas de 2x2 y 3x3 con más opciones de filtrado", + "item.sophisticatedstorage.void_upgrade": "Mejora de vacío", + "item.sophisticatedstorage.void_upgrade.tooltip": "Descarta los ítems seleccionados en un filtro", + "item.sophisticatedstorage.advanced_void_upgrade": "Mejora de vacío avanzada", + "item.sophisticatedstorage.advanced_void_upgrade.tooltip": "Descarta los ítems seleccionados en un filtro\nTiene más opciones de filtrado", + "item.sophisticatedstorage.smelting_upgrade": "Mejora de horneado", + "item.sophisticatedstorage.smelting_upgrade.tooltip": "Horneado en una pestaña de mejora", + "item.sophisticatedstorage.auto_smelting_upgrade": "Mejora de auto-horneado", + "item.sophisticatedstorage.auto_smelting_upgrade.tooltip": "Horneado en una pestaña de mejora\nAutomáticamente introduce/extrae ítems", + "item.sophisticatedstorage.smoking_upgrade": "Mejora de ahumado", + "item.sophisticatedstorage.smoking_upgrade.tooltip": "Ahumado de comida en una pestaña de mejora", + "item.sophisticatedstorage.auto_smoking_upgrade": "Mejora de auto-ahumado", + "item.sophisticatedstorage.auto_smoking_upgrade.tooltip": "Ahumado de comida en una pestaña de mejora\nAutomáticamente introduce/extrae ítems", + "item.sophisticatedstorage.blasting_upgrade": "Mejora de fundido", + "item.sophisticatedstorage.blasting_upgrade.tooltip": "Fundido de minerales y cosas de metal en una pestaña de mejora", + "item.sophisticatedstorage.auto_blasting_upgrade": "Mejora de auto-fundido", + "item.sophisticatedstorage.auto_blasting_upgrade.tooltip": "Fundido de minerales y cosas de metal en una pestaña de mejora\nAutomáticamente introduce/extrae ítems", + "item.sophisticatedstorage.crafting_upgrade": "Mejora de fabricación", + "item.sophisticatedstorage.crafting_upgrade.tooltip": "Mesa de trabajo en una pestaña de mejora", + "item.sophisticatedstorage.stonecutter_upgrade": "Mejora de cortapiedras", + "item.sophisticatedstorage.stonecutter_upgrade.tooltip": "Cortapiedras en una pestaña de mejora", + "item.sophisticatedstorage.jukebox_upgrade": "Mejora de tocadiscos", + "item.sophisticatedstorage.jukebox_upgrade.tooltip": "Tocadiscos portátil", + "item.sophisticatedstorage.stack_upgrade_tier_1": "Mejora de stack nivel 1", + "item.sophisticatedstorage.stack_upgrade_tier_1.tooltip": "Multiplica el número de stacks que caben en un slot por 2", + "item.sophisticatedstorage.stack_upgrade_tier_2": "Mejora de stack nivel 2", + "item.sophisticatedstorage.stack_upgrade_tier_2.tooltip": "Multiplica el número de stacks que caben en un slot por 4", + "item.sophisticatedstorage.stack_upgrade_tier_3": "Mejora de stack nivel 3", + "item.sophisticatedstorage.stack_upgrade_tier_3.tooltip": "Multiplica el número de stacks que caben en un slot por 8", + "item.sophisticatedstorage.stack_upgrade_tier_4": "Mejora de stack nivel 4", + "item.sophisticatedstorage.stack_upgrade_tier_4.tooltip": "Multiplica el número de stacks que caben en un slot por 16", + "item.sophisticatedstorage.pump_upgrade": "Mejora de bomba", + "item.sophisticatedstorage.pump_upgrade.tooltip": "Bombea fluidos entre la Mejora de tanque y bloques adyacentes", + "item.sophisticatedstorage.xp_pump_upgrade": "Mejora de bomba de experiencia", + "item.sophisticatedstorage.xp_pump_upgrade.tooltip": "Bombea experiencia entre la Mejora de tanque y el jugador", + "item.sophisticatedstorage.advanced_pump_upgrade": "Mejora de bomba avanzada", + "item.sophisticatedstorage.advanced_pump_upgrade.tooltip": "Bombea fluidos entre la Mejora de tanque y bloques adyacentes\nFunciona con contenedores de fluidos en la mano y bloques de fluidos en el mundo\nPermite filtrar qué fluidos se bombean", + "item.sophisticatedstorage.compression_upgrade": "Mejora de compresión", + "item.sophisticatedstorage.compression_upgrade.tooltip": "Automáticamente comprime/descomprime ítems", + "item.sophisticatedstorage.hopper_upgrade": "Mejora de tolva", + "item.sophisticatedstorage.hopper_upgrade.tooltip": "Introduce ítems del bloque de arriba y/o los extrae hacia el bloque de abajo", + "item.sophisticatedstorage.advanced_hopper_upgrade": "Mejora de tolva avanzada", + "item.sophisticatedstorage.advanced_hopper_upgrade.tooltip": "Introduce ítems del bloque de arriba y/o los extrae hacia el bloque de abajo\nMás rápida y con opciones de entrada / salida", + "gui.sophisticatedstorage.upgrades.hopper": "Tolva", + "gui.sophisticatedstorage.upgrades.hopper.tooltip": "Opciones de tolva", + "gui.sophisticatedstorage.upgrades.advanced_hopper": "Tolva avanz.", + "gui.sophisticatedstorage.upgrades.advanced_hopper.tooltip": "Opciones de tolva avanzada", + "gui.sophisticatedstorage.error.add.compression_incompatible_items": "El(Los) ítem(s) en estos slots no se pueden comprimir desde el slot anterior", + "gui.sophisticatedstorage.error.add.compression_no_space": "No hay slots adicionales que esta mejora de compresión pueda administrar", + "gui.sophisticatedstorage.settings.tooltip": "Opciones", + "gui.sophisticatedstorage.settings.title": "Opciones", + "gui.sophisticatedstorage.settings.storage": "Almacén", + "gui.sophisticatedstorage.settings.storage.tooltip": "Opciones de almacén", + "gui.sophisticatedstorage.back_to_storage.tooltip": "Volver al almacén", + "gui.sophisticatedstorage.upgrades.buttons.allow": "Permitir", + "gui.sophisticatedstorage.upgrades.buttons.block": "Bloquear", + "gui.sophisticatedstorage.upgrades.buttons.match_storage_contents": "Coincidir con el contenido del almacén", + "gui.sophisticatedstorage.upgrades.buttons.shift_click_into_storage": "Clic Mayús para enviar a\nalmacén", + "gui.sophisticatedstorage.upgrades.buttons.shift_click_into_inventory": "Clic Mayús para enviar a\ninventario del jugador", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_push": "Extraer", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_pull": "Introducir", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_push_pull": "Introducir y extraer", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_off": "No", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_disabled": "Desactivado", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_side_info": "%s (%s)", + "gui.sophisticatedstorage.direction.up": "Arriba", + "gui.sophisticatedstorage.direction.down": "Abajo", + "gui.sophisticatedstorage.direction.north": "Norte", + "gui.sophisticatedstorage.direction.south": "Sur", + "gui.sophisticatedstorage.direction.east": "Este", + "gui.sophisticatedstorage.direction.west": "Oeste", + "gui.sophisticatedstorage.block_side.top": "Parte superior", + "gui.sophisticatedstorage.block_side.bottom": "Parte inferior", + "gui.sophisticatedstorage.block_side.front": "Enfrente", + "gui.sophisticatedstorage.block_side.back": "Detrás", + "gui.sophisticatedstorage.block_side.left": "Izquierda", + "gui.sophisticatedstorage.block_side.right": "Derecha", + "gui.sophisticatedstorage.buttons.upgrade_switch_enabled": "SÍ", + "gui.sophisticatedstorage.buttons.upgrade_switch_disabled": "NO", + "gui.sophisticatedstorage.settings.buttons.context_storage": "Almacén", + "gui.sophisticatedstorage.settings.buttons.context_storage.tooltip": "Opciones de este almacén", + "gui.sophisticatedstorage.settings.buttons.context_storage.tooltip_detail": "Heredado del jugador o anulado para este almacén", + "keybind.sophisticatedstorage.category": "Sophisticated Storage", + "keybind.sophisticatedstorage.sort": "Ordenar almacén", + "gui.sophisticatedstorage.status.too_many_item_entity_drops": "No se puede romper el %s ya que causaría la caída de demasiadas entidades de ítem (%s)\nConsidera usar %s o romperlo mientras estás agachado para omitir esta verificación" +} \ No newline at end of file diff --git a/src/main/resources/assets/sophisticatedstorage/lang/ko_kr.json b/src/main/resources/assets/sophisticatedstorage/lang/ko_kr.json new file mode 100644 index 00000000..3e7b23d7 --- /dev/null +++ b/src/main/resources/assets/sophisticatedstorage/lang/ko_kr.json @@ -0,0 +1,191 @@ +{ + "wood_name.sophisticatedstorage.oak" : "참나무", + "wood_name.sophisticatedstorage.spruce" : "가문비나무", + "wood_name.sophisticatedstorage.birch" : "자작나무", + "wood_name.sophisticatedstorage.acacia" : "아카시아나무", + "wood_name.sophisticatedstorage.jungle" : "정글나무", + "wood_name.sophisticatedstorage.dark_oak" : "짙은 참나무", + "wood_name.sophisticatedstorage.crimson" : "진홍빛", + "wood_name.sophisticatedstorage.mangrove" : "맹그로브나무", + "wood_name.sophisticatedstorage.warped" : "뒤틀린", + "itemGroup.sophisticatedstorage": "정교한 저장소", + "item.sophisticatedstorage.packing_tape": "포장 테이프", + "item.sophisticatedstorage.storage_tool": "저장소 도구", + "item.sophisticatedstorage.storage_tool.tooltip": "저장소를 연결하고, 잠그며, 개수/등급/잠금과 관련하여 숨길 수 있습니다.", + "item.sophisticatedstorage.storage_tool.tooltip.controls": "<%s>으로 모드 변경하기", + "item.sophisticatedstorage.storage_tool.tooltip.controls.combination": "웅크리기 + 스크롤", + "item.sophisticatedstorage.storage_tool.overlay.linking": "x:%s y:%s z:%s 위치에 있는 제어기에 연결", + "item.sophisticatedstorage.storage_tool.overlay.unlinking": "제어기와 연결 해제", + "item.sophisticatedstorage.storage_tool.overlay.toggling_lock": "잠금/잠금 해제", + "item.sophisticatedstorage.storage_tool.overlay.toggling_lock_display": "잠금 장치 표시/숨기기", + "item.sophisticatedstorage.storage_tool.overlay.toggling_count_display": "개수 표시/숨기기", + "item.sophisticatedstorage.storage_tool.overlay.toggling_tier_display": "등급 표시/숨기기", + "item.sophisticatedstorage.storage_tool.overlay.toggling_upgrades_display": "강화 표시/숨기기", + "item.sophisticatedstorage.debug_tool": "디버그 도구", + "item.sophisticatedstorage.storage_link": "저장소 연결기", + "block.sophisticatedstorage.storage_link.tooltip": "별도의 멀티블록 저장소를 저장소 제어기에 연결합니다.\n저장소 도구를 사용하여 제어기에 연결합니다.", + "block.sophisticatedstorage.storage_link": "저장소 연결기", + "item.sophisticatedstorage.controller": "저장소 제어기", + "block.sophisticatedstorage.controller.tooltip": "연결된 멀티블록 저장소에 아이템을 보관하거나 넣고 뺄 수 있습니다.", + "block.sophisticatedstorage.controller": "저장소 제어기", + "block.sophisticatedstorage.barrel": "%s%s통", + "block.sophisticatedstorage.iron_barrel": "%s%s철 통", + "block.sophisticatedstorage.gold_barrel": "%s%s금 통", + "block.sophisticatedstorage.diamond_barrel": "%s%s다이아몬드 통", + "block.sophisticatedstorage.netherite_barrel": "%s%s네더라이트 통", + "block.sophisticatedstorage.limited_barrel_1": "제한된 %s%s통 I", + "block.sophisticatedstorage.limited_barrel_2": "제한된 %s%s통 II", + "block.sophisticatedstorage.limited_barrel_3": "제한된 %s%s통 III", + "block.sophisticatedstorage.limited_barrel_4": "제한된 %s%s통 IV", + "block.sophisticatedstorage.limited_barrel_singular.tooltip": "%s개의 슬롯이 있으며, 한 슬롯에 들어갈 수 있는 아이템의 수가 %s배 증가합니다.", + "block.sophisticatedstorage.limited_barrel_plural.tooltip": "%s개의 슬롯이 있으며, 한 슬롯에 들어갈 수 있는 아이템의 수가 %s배 증가합니다.", + "block.sophisticatedstorage.limited_iron_barrel_1": "제한된 %s%s철 통 I", + "block.sophisticatedstorage.limited_iron_barrel_2": "제한된 %s%s철 통 II", + "block.sophisticatedstorage.limited_iron_barrel_3": "제한된 %s%s철 통 III", + "block.sophisticatedstorage.limited_iron_barrel_4": "제한된 %s%s철 통 IV", + "block.sophisticatedstorage.limited_gold_barrel_1": "제한된 %s%s금 통 I", + "block.sophisticatedstorage.limited_gold_barrel_2": "제한된 %s%s금 통 II", + "block.sophisticatedstorage.limited_gold_barrel_3": "제한된 %s%s금 통 III", + "block.sophisticatedstorage.limited_gold_barrel_4": "제한된 %s%s금 통 IV", + "block.sophisticatedstorage.limited_diamond_barrel_1": "제한된 %s%s다이아몬드 통 I", + "block.sophisticatedstorage.limited_diamond_barrel_2": "제한된 %s%s다이아몬드 통 II", + "block.sophisticatedstorage.limited_diamond_barrel_3": "제한된 %s%s다이아몬드 통 III", + "block.sophisticatedstorage.limited_diamond_barrel_4": "제한된 %s%s다이아몬드 통 IV", + "block.sophisticatedstorage.limited_netherite_barrel_1": "제한된 %s%s네더라이트 통 I", + "block.sophisticatedstorage.limited_netherite_barrel_2": "제한된 %s%s네더라이트 통 II", + "block.sophisticatedstorage.limited_netherite_barrel_3": "제한된 %s%s네더라이트 통 III", + "block.sophisticatedstorage.limited_netherite_barrel_4": "제한된 %s%s네더라이트 통 IV", + "block.sophisticatedstorage.barrel.tooltip.flat_top": " (평평한 상단)", + "block.sophisticatedstorage.chest": "%s%s상자", + "block.sophisticatedstorage.iron_chest": "%s%s철 상자", + "block.sophisticatedstorage.gold_chest": "%s%s금 상자", + "block.sophisticatedstorage.diamond_chest": "%s%s다이아몬드 상자", + "block.sophisticatedstorage.netherite_chest": "%s%s네더라이트 상자", + "item.sophisticatedstorage.shulker_box": "셜커 상자", + "block.sophisticatedstorage.shulker_box": "셜커 상자", + "item.sophisticatedstorage.iron_shulker_box": "철 셜커 상자", + "block.sophisticatedstorage.iron_shulker_box": "철 셜커 상자", + "item.sophisticatedstorage.gold_shulker_box": "금 셜커 상자", + "block.sophisticatedstorage.gold_shulker_box": "금 셜커 상자", + "item.sophisticatedstorage.diamond_shulker_box": "다이아몬드 셜커 상자", + "block.sophisticatedstorage.diamond_shulker_box": "다이아몬드 셜커 상자", + "item.sophisticatedstorage.netherite_shulker_box": "네더라이트 셜커 상자", + "block.sophisticatedstorage.netherite_shulker_box": "네더라이트 셜커 상자", + "item.sophisticatedstorage.basic_tier_upgrade": "기본 등급 강화", + "item.sophisticatedstorage.basic_tier_upgrade.tooltip": "기본 보관함을 정교한 버전으로 강화합니다.", + "item.sophisticatedstorage.basic_to_iron_tier_upgrade": "기본 등급에서 철 등급으로 강화", + "item.sophisticatedstorage.basic_to_gold_tier_upgrade": "기본 등급에서 금 등급으로 강화", + "item.sophisticatedstorage.basic_to_diamond_tier_upgrade": "기본 등급에서 다이아몬드 등급으로 강화", + "item.sophisticatedstorage.basic_to_netherite_tier_upgrade": "기본 등급에서 네더라이트 등급으로 강화", + "item.sophisticatedstorage.iron_to_gold_tier_upgrade": "철 등급에서 금 등급으로 강화", + "item.sophisticatedstorage.iron_to_diamond_tier_upgrade": "철 등급에서 다이아몬드 등급으로 강화", + "item.sophisticatedstorage.iron_to_netherite_tier_upgrade": "철 등급에서 네더라이트 등급으로 강화", + "item.sophisticatedstorage.gold_to_diamond_tier_upgrade": "금 등급에서 다이아몬드 등급으로 강화", + "item.sophisticatedstorage.gold_to_netherite_tier_upgrade": "금 등급에서 네더라이트 등급으로 강화", + "item.sophisticatedstorage.diamond_to_netherite_tier_upgrade": "다이아몬드 등급에서 네더라이트 등급으로 강화", + "item.sophisticatedstorage.upgrade_base": "강화 틀", + "item.sophisticatedstorage.pickup_upgrade": "획득 강화", + "item.sophisticatedstorage.pickup_upgrade.tooltip": "저장소가 아이템을 주울 수 있게 됩니다.", + "item.sophisticatedstorage.advanced_pickup_upgrade": "고급 획득 강화", + "item.sophisticatedstorage.advanced_pickup_upgrade.tooltip": "저장소가 아이템을 주울 수 있게 됩니다.\n필터 옵션이 추가됩니다.", + "item.sophisticatedstorage.filter_upgrade": "필터 강화", + "item.sophisticatedstorage.filter_upgrade.tooltip": "저장소에 들어가거나 나가는 아이템을 필터링할 수 있게 됩니다", + "item.sophisticatedstorage.advanced_filter_upgrade": "고급 필터 강화", + "item.sophisticatedstorage.advanced_filter_upgrade.tooltip": "저장소에 들어가거나 나가는 아이템을 필터링할 수 있게 됩니다\n필터 옵션이 추가됩니다", + "item.sophisticatedstorage.magnet_upgrade": "자석 강화", + "item.sophisticatedstorage.magnet_upgrade.tooltip": "저장소가 범위 내에 있는 아이템을 끌어당길 수 있게 됩니다.", + "item.sophisticatedstorage.advanced_magnet_upgrade": "고급 자석 강화", + "item.sophisticatedstorage.advanced_magnet_upgrade.tooltip": "저장소가 넓은 범위 내에 있는 아이템을 끌어당길 수 있게 됩니다.\n필터 옵션이 추가됩니다.", + "item.sophisticatedstorage.feeding_upgrade": "식사 강화", + "item.sophisticatedstorage.feeding_upgrade.tooltip": "플레이어에게 저장소 속 음식을 먹일 수 있게 됩니다.", + "item.sophisticatedstorage.advanced_feeding_upgrade": "고급 식사 강화", + "item.sophisticatedstorage.advanced_feeding_upgrade.tooltip": "플레이어에게 저장소 속 음식을 먹일 수 있게 됩니다.\n설정 옵션이 추가됩니다.", + "item.sophisticatedstorage.compacting_upgrade": "압축 강화", + "item.sophisticatedstorage.compacting_upgrade.tooltip": "아이템을 압축할 수 있게 됩니다.\n2x2 제작법만 사용할 수 있습니다.", + "item.sophisticatedstorage.advanced_compacting_upgrade": "고급 압축 강화", + "item.sophisticatedstorage.advanced_compacting_upgrade.tooltip": "아이템을 압축할 수 있게 됩니다.\n2x2와 3x3 제작법을 사용할 수 있고, 필터 옵션이 추가됩니다.", + "item.sophisticatedstorage.void_upgrade": "제거 강화", + "item.sophisticatedstorage.void_upgrade.tooltip": "필터로 선택한 아이템을 제거할 수 있게 됩니다.", + "item.sophisticatedstorage.advanced_void_upgrade": "고급 제거 강화", + "item.sophisticatedstorage.advanced_void_upgrade.tooltip": "필터로 선택한 아이템을 제거할 수 있게 됩니다.\n필터 옵션이 추가됩니다.", + "item.sophisticatedstorage.smelting_upgrade": "화로 강화", + "item.sophisticatedstorage.smelting_upgrade.tooltip": "강화 창에서 화로를 사용할 수 있게 됩니다.", + "item.sophisticatedstorage.auto_smelting_upgrade": "자동 화로 강화", + "item.sophisticatedstorage.auto_smelting_upgrade.tooltip": "강화 창에서 화로를 사용할 수 있게 됩니다.\n자동으로 화로에 아이템을 넣고 꺼낼 수 있게 됩니다.", + "item.sophisticatedstorage.smoking_upgrade": "훈연기 강화", + "item.sophisticatedstorage.smoking_upgrade.tooltip": "강화 창에서 훈연기를 사용할 수 있게 됩니다.", + "item.sophisticatedstorage.auto_smoking_upgrade": "자동 훈연기 강화", + "item.sophisticatedstorage.auto_smoking_upgrade.tooltip": "강화 창에서 훈연기를 사용할 수 있게 됩니다.\n자동으로 훈연기에 아이템을 넣고 꺼낼 수 있게 됩니다.", + "item.sophisticatedstorage.blasting_upgrade": "용광로 강화", + "item.sophisticatedstorage.blasting_upgrade.tooltip": "강화 창에서 용광로를 사용할 수 있게 됩니다.", + "item.sophisticatedstorage.auto_blasting_upgrade": "자동 용광로 강화", + "item.sophisticatedstorage.auto_blasting_upgrade.tooltip": "강화 창에서 용광로를 사용할 수 있게 됩니다.\n자동으로 용광로에 아이템을 넣고 꺼낼 수 있게 됩니다.", + "item.sophisticatedstorage.crafting_upgrade": "제작대 강화", + "item.sophisticatedstorage.crafting_upgrade.tooltip": "강화 창에서 제작대를 사용할 수 있게 됩니다.", + "item.sophisticatedstorage.stonecutter_upgrade": "석재 절단기 강화", + "item.sophisticatedstorage.stonecutter_upgrade.tooltip": "강화 창에서 석재 절단기를 사용할 수 있게 됩니다.", + "item.sophisticatedstorage.jukebox_upgrade": "주크박스 강화", + "item.sophisticatedstorage.jukebox_upgrade.tooltip": "휴대용 주크박스", + "item.sophisticatedstorage.stack_upgrade_tier_1": "쌓기 강화 1등급", + "item.sophisticatedstorage.stack_upgrade_tier_1.tooltip": "한 슬롯에 들어갈 수 있는 아이템의 수가 2배 증가합니다.", + "item.sophisticatedstorage.stack_upgrade_tier_2": "쌓기 강화 2등급", + "item.sophisticatedstorage.stack_upgrade_tier_2.tooltip": "한 슬롯에 들어갈 수 있는 아이템의 수가 4배 증가합니다.", + "item.sophisticatedstorage.stack_upgrade_tier_3": "쌓기 강화 3등급", + "item.sophisticatedstorage.stack_upgrade_tier_3.tooltip": "한 슬롯에 들어갈 수 있는 아이템의 수가 8배 증가합니다.", + "item.sophisticatedstorage.stack_upgrade_tier_4": "쌓기 강화 4등급", + "item.sophisticatedstorage.stack_upgrade_tier_4.tooltip": "한 슬롯에 들어갈 수 있는 아이템의 수가 16배 증가합니다.", + "item.sophisticatedstorage.pump_upgrade": "펌프 강화", + "item.sophisticatedstorage.pump_upgrade.tooltip": "탱크 강화가 된 배낭과 인접한 블록 사이에 액체를 넣고 뺄 수 있습니다.", + "item.sophisticatedstorage.xp_pump_upgrade": "경험치 펌프 강화", + "item.sophisticatedstorage.xp_pump_upgrade.tooltip": "탱크 강화가 된 배낭과 플레이어 사이에 경험치를 넣고 뺄 수 있습니다.", + "item.sophisticatedstorage.advanced_pump_upgrade": "고급 펌프 강화", + "item.sophisticatedstorage.advanced_pump_upgrade.tooltip": "탱크 강화가 된 배낭과 인접한 블록 사이에 액체를 넣고 뺄 수 있습니다.\n손에 든 액체 저장소와 액체 소스와 상호작용할 수 있습니다.\n어떤 액체를 받을지 지정할 수 있습니다.", + "item.sophisticatedstorage.compression_upgrade": "자동 압축 강화", + "item.sophisticatedstorage.compression_upgrade.tooltip": "자동으로 아이템을 압축하거나 압축 해제합니다.", + "item.sophisticatedstorage.hopper_upgrade": "호퍼 강화", + "item.sophisticatedstorage.hopper_upgrade.tooltip": "위쪽 블록에서 아이템을 끌어오거나 아래쪽 블록으로 밀어 넣습니다.", + "item.sophisticatedstorage.advanced_hopper_upgrade": "고급 호퍼 강화", + "item.sophisticatedstorage.advanced_hopper_upgrade.tooltip": "위쪽 블록에서 아이템을 끌어오거나 아래쪽 블록으로 밀어 넣습니다.\n더 빠른 속도와 입력/출력 옵션이 추가됩니다.", + "gui.sophisticatedstorage.upgrades.hopper": "호퍼", + "gui.sophisticatedstorage.upgrades.hopper.tooltip": "호퍼 설정", + "gui.sophisticatedstorage.upgrades.advanced_hopper": "고급 호퍼", + "gui.sophisticatedstorage.upgrades.advanced_hopper.tooltip": "고급 호퍼 설정", + "gui.sophisticatedstorage.error.add.compression_incompatible_items": "이 슬롯에 있는 아이템은 이전 슬롯에서 압축할 수 없습니다.", + "gui.sophisticatedstorage.error.add.compression_no_space": "이 자동 압축 강화로 관리할 수 있는 추가 슬롯은 없습니다.", + "gui.sophisticatedstorage.settings.tooltip": "설정", + "gui.sophisticatedstorage.settings.title": "설정", + "gui.sophisticatedstorage.settings.storage": "저장소", + "gui.sophisticatedstorage.settings.storage.tooltip": "저장소 설정", + "gui.sophisticatedstorage.back_to_storage.tooltip": "저장소로 돌아가기", + "gui.sophisticatedstorage.upgrades.buttons.allow": "허용", + "gui.sophisticatedstorage.upgrades.buttons.block": "차단", + "gui.sophisticatedstorage.upgrades.buttons.match_storage_contents": "저장소 아이템과 일치", + "gui.sophisticatedstorage.upgrades.buttons.shift_click_into_storage": "아이템을 Shift+클릭했을 때 아이템이\n저장소로 이동합니다.", + "gui.sophisticatedstorage.upgrades.buttons.shift_click_into_inventory": "아이템을 Shift+클릭했을 때 아이템이\n플레이어의 보관함으로 이동합니다.", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_push": "밀기", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_pull": "당기기", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_push_pull": "밀기 & 당기기", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_off": "끄기", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_disabled": "비활성화됨", + "gui.sophisticatedstorage.upgrades.buttons.io_mode_side_info": "%s (%s)", + "gui.sophisticatedstorage.direction.up": "위쪽", + "gui.sophisticatedstorage.direction.down": "아래쪽", + "gui.sophisticatedstorage.direction.north": "북쪽", + "gui.sophisticatedstorage.direction.south": "남쪽", + "gui.sophisticatedstorage.direction.east": "동쪽", + "gui.sophisticatedstorage.direction.west": "서쪽", + "gui.sophisticatedstorage.block_side.top": "상단", + "gui.sophisticatedstorage.block_side.bottom": "하단", + "gui.sophisticatedstorage.block_side.front": "앞쪽", + "gui.sophisticatedstorage.block_side.back": "뒤쪽", + "gui.sophisticatedstorage.block_side.left": "왼쪽", + "gui.sophisticatedstorage.block_side.right": "오른쪽", + "gui.sophisticatedstorage.buttons.upgrade_switch_enabled": "켜짐", + "gui.sophisticatedstorage.buttons.upgrade_switch_disabled": "꺼짐", + "gui.sophisticatedstorage.settings.buttons.context_storage": "저장소", + "gui.sophisticatedstorage.settings.buttons.context_storage.tooltip": "이 저장소의 설정", + "gui.sophisticatedstorage.settings.buttons.context_storage.tooltip_detail": "이 저장소를 재정의합니다.", + "keybind.sophisticatedstorage.category": "정교한 저장소", + "keybind.sophisticatedstorage.sort": "저장소 정렬", + "gui.sophisticatedstorage.status.too_many_item_entity_drops": "%s을(를) 부술 수 없습니다. 너무 많은 %s개의 아이템 개체가 떨어질 수 있습니다.\n이 절차를 건너뛰기 위해서는 %s를 사용하거나 웅크리고 부수세요." +} diff --git a/src/main/resources/assets/sophisticatedstorage/lang/zh_cn.json b/src/main/resources/assets/sophisticatedstorage/lang/zh_cn.json index f64d0fa1..c21ab11e 100644 --- a/src/main/resources/assets/sophisticatedstorage/lang/zh_cn.json +++ b/src/main/resources/assets/sophisticatedstorage/lang/zh_cn.json @@ -6,16 +6,21 @@ "wood_name.sophisticatedstorage.jungle": "丛林木", "wood_name.sophisticatedstorage.dark_oak": "深色橡木", "wood_name.sophisticatedstorage.crimson": "绯红木", + "wood_name.sophisticatedstorage.mangrove": "红树木", "wood_name.sophisticatedstorage.warped": "诡异木", "itemGroup.sophisticatedstorage": "精妙存储", "item.sophisticatedstorage.packing_tape": "包装带", "item.sophisticatedstorage.storage_tool": "存储工具", "item.sophisticatedstorage.storage_tool.tooltip": "链接, 锁定, 隐藏容器上的数量和锁定", + "item.sophisticatedstorage.storage_tool.tooltip.controls": "使用<%s>来改变模式", + "item.sophisticatedstorage.storage_tool.tooltip.controls.combination": "潜行+滚轮", "item.sophisticatedstorage.storage_tool.overlay.linking": "链接至位于x:%s y:%s z:%s的控制器", "item.sophisticatedstorage.storage_tool.overlay.unlinking": "与控制器断开链接", "item.sophisticatedstorage.storage_tool.overlay.toggling_lock": "锁定/解锁", "item.sophisticatedstorage.storage_tool.overlay.toggling_lock_display": "显示/隐藏锁", "item.sophisticatedstorage.storage_tool.overlay.toggling_count_display": "显示/隐藏数量(s)", + "item.sophisticatedstorage.storage_tool.overlay.toggling_tier_display": "显示/隐藏等级(s)", + "item.sophisticatedstorage.storage_tool.overlay.toggling_upgrades_display": "显示/隐藏升级", "item.sophisticatedstorage.debug_tool": "调试工具", "item.sophisticatedstorage.storage_link": "存储链接", "block.sophisticatedstorage.storage_link.tooltip": "将单独的多方块存储连接到控制器\n使用存储工具链接到控制器", @@ -50,6 +55,7 @@ "block.sophisticatedstorage.limited_netherite_barrel_2": "限类%s下界合金桶 II", "block.sophisticatedstorage.limited_netherite_barrel_3": "限类%s下界合金桶 III", "block.sophisticatedstorage.limited_netherite_barrel_4": "限类%s下界合金桶 IV", + "block.sophisticatedstorage.barrel.tooltip.flat_top": "(平顶)", "block.sophisticatedstorage.chest": "%s箱子", "block.sophisticatedstorage.iron_chest": "%s铁箱子", "block.sophisticatedstorage.gold_chest": "%s金箱子", @@ -68,8 +74,14 @@ "item.sophisticatedstorage.basic_tier_upgrade": "基础升级", "item.sophisticatedstorage.basic_tier_upgrade.tooltip": "将原版容器升级为对应的精妙存储版本", "item.sophisticatedstorage.basic_to_iron_tier_upgrade": "基础->铁升级", + "item.sophisticatedstorage.basic_to_gold_tier_upgrade": "基础->金升级", + "item.sophisticatedstorage.basic_to_diamond_tier_upgrade": "基础->钻石升级", + "item.sophisticatedstorage.basic_to_netherite_tier_upgrade": "基础->下界合金升级", "item.sophisticatedstorage.iron_to_gold_tier_upgrade": "铁->金升级", + "item.sophisticatedstorage.iron_to_diamond_tier_upgrade": "铁->钻石升级", + "item.sophisticatedstorage.iron_to_netherite_tier_upgrade": "铁->下界合金升级", "item.sophisticatedstorage.gold_to_diamond_tier_upgrade": "金->钻石升级", + "item.sophisticatedstorage.gold_to_netherite_tier_upgrade": "金->下界合金升级", "item.sophisticatedstorage.diamond_to_netherite_tier_upgrade": "钻石->下界合金升级", "item.sophisticatedstorage.upgrade_base": "升级基板", "item.sophisticatedstorage.pickup_upgrade": "拾取升级",