diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/lang/en_us.json b/projects/1.21/assets/immersiveposts/immersiveposts/lang/en_us.json
new file mode 100644
index 000000000000..0e4d18f93393
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/lang/en_us.json
@@ -0,0 +1,85 @@
+{
+ "_comment": "################## Blocks ##################",
+
+ "block.immersiveposts.postbase": "Extendable Post",
+ "block.immersiveposts.woodpost": "Wooden Post",
+ "block.immersiveposts.ironpost": "Iron Post",
+ "block.immersiveposts.goldpost": "Gold Post",
+ "block.immersiveposts.copperpost": "Copper Post",
+ "block.immersiveposts.leadpost": "Lead Post",
+ "block.immersiveposts.silverpost": "Silver Post",
+ "block.immersiveposts.nickelpost": "Nickel Post",
+ "block.immersiveposts.constantanpost": "Constantan Post",
+ "block.immersiveposts.electrumpost": "Electrum Post",
+ "block.immersiveposts.uraniumpost": "Uranium Post",
+ "block.immersiveposts.netherpost": "Nether Brick Post",
+ "block.immersiveposts.aluminiumpost": "Aluminium Post",
+ "block.immersiveposts.steelpost": "Steel Post",
+ "block.immersiveposts.concretepost": "Concrete Post",
+ "block.immersiveposts.leadedconcretepost": "Leaded Concrete Post",
+
+ "block.immersiveposts.woodpost_truss": "Wooden Truss",
+ "block.immersiveposts.ironpost_truss": "Iron Truss",
+ "block.immersiveposts.goldpost_truss": "Gold Truss",
+ "block.immersiveposts.copperpost_truss": "Copper Truss",
+ "block.immersiveposts.leadpost_truss": "Lead Truss",
+ "block.immersiveposts.silverpost_truss": "Silver Truss",
+ "block.immersiveposts.nickelpost_truss": "Nickel Truss",
+ "block.immersiveposts.constantanpost_truss": "Constantan Truss",
+ "block.immersiveposts.electrumpost_truss": "Electrum Truss",
+ "block.immersiveposts.uraniumpost_truss": "Uranium Truss",
+ "block.immersiveposts.netherpost_truss": "Nether Brick Truss",
+ "block.immersiveposts.aluminiumpost_truss": "Aluminium Truss",
+ "block.immersiveposts.steelpost_truss": "Steel Truss",
+ "block.immersiveposts.concretepost_truss": "Concrete Truss",
+ "block.immersiveposts.leadedconcretepost_truss": "Leaded Concrete Truss",
+
+ "block.immersiveposts.fence_iron": "Iron Fence",
+ "block.immersiveposts.fence_gold": "Gold Fence",
+ "block.immersiveposts.fence_copper": "Copper Fence",
+ "block.immersiveposts.fence_lead": "Lead Fence",
+ "block.immersiveposts.fence_silver": "Silver Fence",
+ "block.immersiveposts.fence_nickel": "Nickel Fence",
+ "block.immersiveposts.fence_constantan": "Constantan Fence",
+ "block.immersiveposts.fence_electrum": "Electrum Fence",
+ "block.immersiveposts.fence_uranium": "Uranium Fence",
+
+ "_comment": "################## Items ##################",
+
+ "item.immersiveposts.stick_gold": "Gold Rod",
+ "item.immersiveposts.stick_copper": "Copper Rod",
+ "item.immersiveposts.stick_lead": "Lead Rod",
+ "item.immersiveposts.stick_silver": "Silver Rod",
+ "item.immersiveposts.stick_nickel": "Nickel Rod",
+ "item.immersiveposts.stick_constantan": "Constantan Rod",
+ "item.immersiveposts.stick_electrum": "Electrum Rod",
+ "item.immersiveposts.stick_uranium": "Uranium Rod",
+
+ "item.immersiveposts.metal_rods.stick_gold": "Gold Rod",
+ "item.immersiveposts.metal_rods.stick_copper": "Copper Rod",
+ "item.immersiveposts.metal_rods.stick_lead": "Lead Rod",
+ "item.immersiveposts.metal_rods.stick_silver": "Silver Rod",
+ "item.immersiveposts.metal_rods.stick_nickel": "Nickel Rod",
+ "item.immersiveposts.metal_rods.stick_constantan": "Constantan Rod",
+ "item.immersiveposts.metal_rods.stick_electrum": "Electrum Rod",
+ "item.immersiveposts.metal_rods.stick_uranium": "Uranium Rod",
+
+ "_comment": "################## Creative Tab ##################",
+
+ "itemGroup.immersiveposts": "Immersive Posts",
+
+ "_comment": "################## Postbase Tooltip(s) ##################",
+
+ "tooltip.postbase": "§6See Manual for Accepted Blocks.",
+
+ "_comment": "################## Miscellaneous ##################",
+
+ "immersiveposts.expectedlocal": "Expected: %s",
+ "immersiveposts.truss_notsametype": "Truss: Both posts must be of the same material.",
+ "immersiveposts.truss_minimumdistance": "Truss: Posts must have at least 1 blocks of space between.",
+ "immersiveposts.truss_postnotfound": "Truss: Next post out of range or does not exist.",
+
+ "_comment": "################## IE-Manual ##################",
+
+ "manual.immersiveposts.main": "Extendable Posts"
+}
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/lang/zh_cn.json b/projects/1.21/assets/immersiveposts/immersiveposts/lang/zh_cn.json
new file mode 100644
index 000000000000..180d4fc1da16
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/lang/zh_cn.json
@@ -0,0 +1,85 @@
+{
+ "_comment": "################## Blocks ##################",
+
+ "block.immersiveposts.postbase": "可延长杆基座",
+ "block.immersiveposts.woodpost": "木杆",
+ "block.immersiveposts.ironpost": "铁杆",
+ "block.immersiveposts.goldpost": "金杆",
+ "block.immersiveposts.copperpost": "铜杆",
+ "block.immersiveposts.leadpost": "铅杆",
+ "block.immersiveposts.silverpost": "银杆",
+ "block.immersiveposts.nickelpost": "镍杆",
+ "block.immersiveposts.constantanpost": "康铜杆",
+ "block.immersiveposts.electrumpost": "琥珀金杆",
+ "block.immersiveposts.uraniumpost": "铀杆",
+ "block.immersiveposts.netherpost": "下界砖杆",
+ "block.immersiveposts.aluminiumpost": "铝杆",
+ "block.immersiveposts.steelpost": "钢杆",
+ "block.immersiveposts.concretepost": "混凝土杆",
+ "block.immersiveposts.leadedconcretepost": "镀铅混凝土杆",
+
+ "block.immersiveposts.woodpost_truss": "木桁架",
+ "block.immersiveposts.ironpost_truss": "铁桁架",
+ "block.immersiveposts.goldpost_truss": "金桁架",
+ "block.immersiveposts.copperpost_truss": "铜桁架",
+ "block.immersiveposts.leadpost_truss": "铅桁架",
+ "block.immersiveposts.silverpost_truss": "银桁架",
+ "block.immersiveposts.nickelpost_truss": "镍桁架",
+ "block.immersiveposts.constantanpost_truss": "康铜桁架",
+ "block.immersiveposts.electrumpost_truss": "琥珀金桁架",
+ "block.immersiveposts.uraniumpost_truss": "铀桁架",
+ "block.immersiveposts.netherpost_truss": "下界砖桁架",
+ "block.immersiveposts.aluminiumpost_truss": "铝桁架",
+ "block.immersiveposts.steelpost_truss": "钢桁架",
+ "block.immersiveposts.concretepost_truss": "混凝土桁架",
+ "block.immersiveposts.leadedconcretepost_truss": "镀铅混凝土桁架",
+
+ "block.immersiveposts.fence_iron": "铁栅栏",
+ "block.immersiveposts.fence_gold": "金栅栏",
+ "block.immersiveposts.fence_copper": "铜栅栏",
+ "block.immersiveposts.fence_lead": "铅栅栏",
+ "block.immersiveposts.fence_silver": "银栅栏",
+ "block.immersiveposts.fence_nickel": "镍栅栏",
+ "block.immersiveposts.fence_constantan": "康铜栅栏",
+ "block.immersiveposts.fence_electrum": "琥珀金栅栏",
+ "block.immersiveposts.fence_uranium": "铀栅栏",
+
+ "_comment": "################## Items ##################",
+
+ "item.immersiveposts.stick_gold": "金棒",
+ "item.immersiveposts.stick_copper": "铜棒",
+ "item.immersiveposts.stick_lead": "铅棒",
+ "item.immersiveposts.stick_silver": "银棒",
+ "item.immersiveposts.stick_nickel": "镍棒",
+ "item.immersiveposts.stick_constantan": "康铜棒",
+ "item.immersiveposts.stick_electrum": "琥珀金棒",
+ "item.immersiveposts.stick_uranium": "铀棒",
+
+ "item.immersiveposts.metal_rods.stick_gold": "金棒",
+ "item.immersiveposts.metal_rods.stick_copper": "铜棒",
+ "item.immersiveposts.metal_rods.stick_lead": "铅棒",
+ "item.immersiveposts.metal_rods.stick_silver": "银棒",
+ "item.immersiveposts.metal_rods.stick_nickel": "镍棒",
+ "item.immersiveposts.metal_rods.stick_constantan": "康铜棒",
+ "item.immersiveposts.metal_rods.stick_electrum": "琥珀金棒",
+ "item.immersiveposts.metal_rods.stick_uranium": "铀棒",
+
+ "_comment": "################## Creative Tab ##################",
+
+ "itemGroup.immersiveposts": "沉浸长杆",
+
+ "_comment": "################## Postbase Tooltip(s) ##################",
+
+ "tooltip.postbase": "§6适用方块参见手册。",
+
+ "_comment": "################## Miscellaneous ##################",
+
+ "immersiveposts.expectedlocal": "期望方块:%s",
+ "immersiveposts.truss_notsametype": "桁架:两杆必须为同种材质。",
+ "immersiveposts.truss_minimumdistance": "桁架:两杆间必须留有至少1格空隙。",
+ "immersiveposts.truss_postnotfound": "桁架:下一处杆超出范围或不存在。",
+
+ "_comment": "################## IE-Manual ##################",
+
+ "manual.immersiveposts.main": "沉浸长杆"
+}
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/postbase.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/postbase.txt
new file mode 100644
index 000000000000..cc99731971cd
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/postbase.txt
@@ -0,0 +1,9 @@
+Extendable Post
+The Sky's the Limit.
+<&postbase>Used as the start of the custom-sized posts.
+(See on how to use it.)
+
+The base can be hidden simply by holding a block in your hand, right-clicking, and it will pretend to be that block.
+Sneak + right-click removes the cover.
+
+It only accepts solid and opaque blocks as cover, however.
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/posts.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/posts.txt
new file mode 100644
index 000000000000..4508a8b813df
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/posts.txt
@@ -0,0 +1,34 @@
+Accepted Blocks
+Hm, what to pick..
+ 1 Index Page
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+<&treated>Treated-Wood.
+<&aluminium>Aluminum.
+<&steel>Steel.
+<&nether>Nether Bricks.
+<&iron>Iron.
+<&gold>Gold.
+<&copper>Copper.
+<&lead>Lead.
+<&silver>Silver.
+<&nickel>Nickel.
+<&constantan>Constantan.
+<&electrum>Electrum.
+<&uranium>Uranium.
+Emits a little bit of light, though it seems only as much as a redstone torch?
+<&concrete>Concrete.
+<&leadedconcrete>Leaded Concrete.
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/usage.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/usage.txt
new file mode 100644
index 000000000000..8a6c7de759a8
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/en_us/usage.txt
@@ -0,0 +1,22 @@
+How to Use
+
+<&usage1>You're going to need the hammer and a material of your choice.
+See for a detailed list of things able to be used.
+<&usage2>Then with your chosen material in hand right-click the base with it and it should look like what's being shown in the image above.
+Note: It always has to be of the same type! A wooden post for example only accepts §oTreated Wood Fences§r nothing else!
+<&usage3>From here you can also right-click the post itself which makes it easier to see how high you've already made it.
+
+Isn't that neat?
+<&usage4>Now, to get the 1-Wide arm you simply right-click with your hammer in hand at the desired side and height. To remove it right-click the side of the post the arm is on. (Or break it with an axe)
+§nNote: It won't appear if there is a block in the way.§r
+<&usage5>Right-clicking the arm itself will turn it into a 2-Wide arm and vise-versa.
+
+Like with the 1-Wide, if there isn't enough space it will not change.
+<&usage6>The one 1-Wide Arm flips up-side-down if it detects any block below it, §oeven§r if there is already one above it.
+
+For §ostability§r reasons, the 2-Wide Arm however can §lnot§r flip up-side-down.
+<&usage7>§nPost Arm§r
+Placing non-solid blocks on the sides (Like connectors/relays) makes these cute little arms appear, making sure whatever you attached doesn't look like it's floating in the air.
+<&usage8>§nHorizontal Truss§r
+Line up two posts with at least 1 block (up to ) of empty space in between.
+Sneak + Right-click with the hammer on inner side of them. Do the same if you want to remove an already existing truss.
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/postbase.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/postbase.txt
new file mode 100644
index 000000000000..70ef03b42d44
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/postbase.txt
@@ -0,0 +1,9 @@
+可延长的杆
+长杆无极限
+<&postbase>用作自定义长杆的基座。
+(使用方法请查阅条目。)
+
+手持方块右击基座,即可让基座的外形变为该方块,从而隐藏基座本身。
+潜行右击可移除伪装。
+
+仅接受不透明固体方块。
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/posts.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/posts.txt
new file mode 100644
index 000000000000..0bae7ea1e77c
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/posts.txt
@@ -0,0 +1,34 @@
+适用方块
+嗯……挑哪个呢……
+ 1 目录页
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+<&treated>防腐木。
+<&aluminium>铝。
+<&steel>钢。
+<&nether>下界砖。
+<&iron>铁。
+<&gold>金。
+<&copper>铜。
+<&lead>铅。
+<&silver>银。
+<&nickel>镍。
+<&constantan>康铜。
+<&electrum>琥珀金。
+<&uranium>铀。
+会发出微弱的光,但亮度大概只和红石火把差不多?
+<&concrete>混凝土。
+<&leadedconcrete>镀铅混凝土。
diff --git a/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/usage.txt b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/usage.txt
new file mode 100644
index 000000000000..e35080a27bcc
--- /dev/null
+++ b/projects/1.21/assets/immersiveposts/immersiveposts/manual/zh_cn/usage.txt
@@ -0,0 +1,22 @@
+使用方法
+
+<&usage1>你需要准备好工程师锤和一种材料。
+适用的材料可见。
+<&usage2>手持所选的材料右击基座,它应该会变成上图所示的样子。
+注意:杆的材料必须一直是同一种!比如,木杆只会接受§o防腐木栅栏§r,其他的都不行!
+<&usage3>现在也可以右击杆本身,方便查看杆当前的高度。
+
+是不是很棒?
+<&usage4>手持工程师锤右击杆上某处侧面,即可在该处延出1格长的横臂。右击杆上横臂所在处可移除横臂。(也可用斧破坏。)
+§n注意:若有方块阻挡,横臂就不会延出。§r
+<&usage5>右击横臂本身可将其延成2格长的横臂,再次点击能令其缩回。
+
+和1格长横臂一样,若有方块阻挡横臂就不会延出。
+<&usage6>1格长的横臂检测到其下方有方块时会上下翻转,§o哪怕§r它上方有方块也是一样。
+
+由于§o稳定性§r问题,2格长横臂§l不§r会上下翻转。
+<&usage7>§n杆臂§r
+在杆侧放置非固体方块(如接线器和继电器)会出现小型杆臂,这样你放在杆旁的方块就不会看上去像飘在空中了。
+<&usage8>§n水平桁架§r
+连起间隔至少1格(最长格)的两个长杆。
+潜行右击两杆的相对侧即可连起桁架。移除已有桁架的操作一致。