Skip to content

Commit 00c1ecb

Browse files
committed
complete ammo features
1 parent 20a8b62 commit 00c1ecb

File tree

16 files changed

+286
-8
lines changed

16 files changed

+286
-8
lines changed

common/src/main/java/com/github/litermc/vschunkloader/block/ammo/AmmoAssemblerBlockEntity.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,15 @@ public class AmmoAssemblerBlockEntity extends BlockEntity {
6464
private volatile AssembleResult assembleResult = AssembleResult.SUCCESS;
6565
private String shipSlug = null;
6666
private int energyStored = 0;
67-
private int energyConsumption = 0; // TODO
67+
private int energyConsumption = Config.ammoAssembleEnergy; // TODO
6868
private final Queue<BlockPos> queueing = new ArrayDeque<>();
6969
private final DenseBlockPosSet blocks = new DenseBlockPosSet();
7070
private final DenseBlockPosSet checked = new DenseBlockPosSet();
7171
private final AABBi box = new AABBi();
7272

7373
private Runnable assembleFinishCallback = null;
74+
Object energyStorage = null;
75+
Object peripheral = null;
7476

7577
public AmmoAssemblerBlockEntity(BlockPos pos, BlockState state) {
7678
super(VSCRegistry.BlockEntities.AMMO_ASSEMBLER.get(), pos, state);
@@ -106,7 +108,7 @@ public int receiveEnergy(final int maxReceive, final boolean simulate) {
106108
if (avaliable <= 0) {
107109
return 0;
108110
}
109-
final int received = Math.min(avaliable, maxReceive);
111+
final int received = Math.min(Math.min(avaliable, maxReceive), (this.getMaxEnergyStored() + 99) / 100);
110112
if (!simulate) {
111113
this.energyStored += received;
112114
}
@@ -124,6 +126,7 @@ public int getMaxEnergyStored() {
124126
@Override
125127
public void load(final CompoundTag data) {
126128
this.energyStored = data.getInt("EnergyStored");
129+
this.triggering = data.getBoolean("Powered");
127130
try {
128131
this.assembleResult = AssembleResult.valueOf(data.getString("AssembleResult"));
129132
} catch (IllegalArgumentException e) {
@@ -134,6 +137,7 @@ public void load(final CompoundTag data) {
134137
@Override
135138
public void saveAdditional(final CompoundTag data) {
136139
data.putInt("EnergyStored", this.energyStored);
140+
data.putBoolean("Powered", this.triggering);
137141
this.saveShared(data);
138142
}
139143

common/src/main/resources/assets/vschunkloader/lang/en_us.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
{
2+
"block.vschunkloader.ammo_assembler": "Ammo Assembler",
3+
"block.vschunkloader.ammo_manager": "Ammo Manager",
24
"block.vschunkloader.chunk_loader": "Chunk Loader",
35
"block.vschunkloader.chunk_loader_weak": "Weak Chunk Loader",
46
"command.vschunkloader.forceload": "Successfully force loaded %d ships",

common/src/main/resources/assets/vschunkloader/lang/zh_cn.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
{
2+
"block.vschunkloader.ammo_assembler": "弹药组装器",
3+
"block.vschunkloader.ammo_manager": "弹药管理器",
24
"block.vschunkloader.chunk_loader": "区块加载器",
35
"block.vschunkloader.chunk_loader_weak": "脆弱的区块加载器",
46
"command.vschunkloader.forceload": "成功强制加载 %d 个物理结构",

common/src/main/resources/data/minecraft/tags/blocks/mineable/pickaxe.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"replace": false,
33
"values": [
4+
"vschunkloader:ammo_assembler",
5+
"vschunkloader:ammo_manager",
46
"vschunkloader:chunk_loader",
57
"vschunkloader:chunk_loader_weak"
68
]
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"replace": false,
33
"values": [
4+
"vschunkloader:ammo_assembler",
5+
"vschunkloader:ammo_manager",
46
"vschunkloader:chunk_loader_weak"
57
]
68
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"type": "minecraft:block",
3+
"pools": [
4+
{
5+
"rolls": 1,
6+
"entries": [
7+
{
8+
"type": "minecraft:item",
9+
"name": "vschunkloader:ammo_assembler"
10+
}
11+
]
12+
}
13+
]
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"type": "minecraft:block",
3+
"pools": [
4+
{
5+
"rolls": 1,
6+
"entries": [
7+
{
8+
"type": "minecraft:item",
9+
"name": "vschunkloader:ammo_manager"
10+
}
11+
]
12+
}
13+
]
14+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"type": "minecraft:crafting_shaped",
3+
"pattern": [
4+
"GMG",
5+
"LSL",
6+
"GPG"
7+
],
8+
"key": {
9+
"G": {
10+
"item": "minecraft:gold_ingot"
11+
},
12+
"L": {
13+
"item": "minecraft:lodestone"
14+
},
15+
"M": {
16+
"item": "minecraft:map"
17+
},
18+
"P": {
19+
"item": "minecraft:piston"
20+
},
21+
"S": {
22+
"item": "minecraft:slime_block"
23+
}
24+
},
25+
"result": {
26+
"item": "vschunkloader:ammo_assembler",
27+
"count": 1
28+
}
29+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"type": "minecraft:crafting_shaped",
3+
"pattern": [
4+
"CEC",
5+
"LOL",
6+
"GAG"
7+
],
8+
"key": {
9+
"A": {
10+
"item": "minecraft:anvil"
11+
},
12+
"C": {
13+
"item": "minecraft:copper_ingot"
14+
},
15+
"E": {
16+
"item": "minecraft:ender_eye"
17+
},
18+
"G": {
19+
"item": "minecraft:gold_ingot"
20+
},
21+
"L": {
22+
"item": "minecraft:lodestone"
23+
},
24+
"O": {
25+
"item": "minecraft:compass"
26+
}
27+
},
28+
"result": {
29+
"item": "vschunkloader:ammo_manager",
30+
"count": 1
31+
}
32+
}

common/src/main/resources/data/vschunkloader/recipes/chunk_loader_weak.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
"type": "minecraft:crafting_shaped",
33
"pattern": [
44
"ITI",
5-
"EBO",
5+
"EDO",
66
"IHI"
77
],
88
"key": {
9-
"B": {
10-
"item": "minecraft:lodestone"
9+
"D": {
10+
"item": "minecraft:ender_pearl"
1111
},
1212
"E": {
1313
"item": "minecraft:emerald"

0 commit comments

Comments
 (0)