Skip to content

Commit 4dd7f3f

Browse files
committed
Working changes, start to support nested machine theory
1 parent dac15d5 commit 4dd7f3f

33 files changed

+822
-345
lines changed

src/generated/resources/.cache/cache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ bb446af024870e7a07d31a3c78cab75797392cd5 assets/compactmachines/models/tunnels/n
1313
2781d8f8d22db668495872f1bb39e2dd1290ab66 assets/compactmachines/models/tunnels/south.json
1414
955410e7497ca2252d75eac53d02fb96992d94c7 assets/compactmachines/models/tunnels/up.json
1515
f8748baf2b48a44db2cf8d3872bd09b54a822560 assets/compactmachines/models/tunnels/west.json
16-
95bb11d93b0dee59240d959bc881caea0115970f data/compactmachines/advancements/recipes/compactmachines/personal_shrinking_device.json
17-
b86297267feb2e7d28cb68a830a0d7ffd6b6539a data/compactmachines/advancements/recipes/compactmachines/wall.json
16+
e012e4b65799a56d195a6324c82e2cdf7a5a91be data/compactmachines/advancements/recipes/compactmachines/personal_shrinking_device.json
17+
fd7ccf69e4445ba0a2d7b2cd405ebe2ae85be240 data/compactmachines/advancements/recipes/compactmachines/wall.json
1818
fb5c7560898ae604661d0655c2a39e923eb1d4b4 data/compactmachines/loot_tables/blocks/machine_giant.json
1919
056d363f46ab1cc37c16f08428a3d2a9e0dd66d2 data/compactmachines/loot_tables/blocks/machine_large.json
2020
38a7648eb331daf18f5076126f31f31b6021ac51 data/compactmachines/loot_tables/blocks/machine_maximum.json

src/generated/resources/data/compactmachines/advancements/recipes/compactmachines/personal_shrinking_device.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
]
77
},
88
"criteria": {
9-
"has_recipe": {
9+
"picked_up_ender_eye": {
1010
"trigger": "minecraft:inventory_changed",
1111
"conditions": {
1212
"items": [
@@ -25,7 +25,7 @@
2525
},
2626
"requirements": [
2727
[
28-
"has_recipe",
28+
"picked_up_ender_eye",
2929
"has_the_recipe"
3030
]
3131
]

src/generated/resources/data/compactmachines/advancements/recipes/compactmachines/wall.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
]
77
},
88
"criteria": {
9-
"has_recipe": {
9+
"picked_up_iron": {
1010
"trigger": "minecraft:inventory_changed",
1111
"conditions": {
1212
"items": [
@@ -25,7 +25,7 @@
2525
},
2626
"requirements": [
2727
[
28-
"has_recipe",
28+
"picked_up_iron",
2929
"has_the_recipe"
3030
]
3131
]

src/main/java/com/robotgryphon/compactmachines/CompactMachines.java

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,18 @@
66
import com.robotgryphon.compactmachines.config.ServerConfig;
77
import com.robotgryphon.compactmachines.core.Registration;
88
import com.robotgryphon.compactmachines.network.NetworkHandler;
9+
import net.minecraft.client.Minecraft;
910
import net.minecraft.item.ItemGroup;
1011
import net.minecraft.item.ItemStack;
1112
import net.minecraftforge.common.MinecraftForge;
1213
import net.minecraftforge.common.crafting.CraftingHelper;
14+
import net.minecraftforge.event.TickEvent;
1315
import net.minecraftforge.eventbus.api.IEventBus;
1416
import net.minecraftforge.eventbus.api.SubscribeEvent;
1517
import net.minecraftforge.fml.ModList;
1618
import net.minecraftforge.fml.ModLoadingContext;
1719
import net.minecraftforge.fml.common.Mod;
20+
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
1821
import net.minecraftforge.fml.config.ModConfig;
1922
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
2023
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
@@ -24,8 +27,8 @@
2427
import org.apache.logging.log4j.Logger;
2528

2629
@Mod(CompactMachines.MOD_ID)
27-
public class CompactMachines
28-
{
30+
@Mod.EventBusSubscriber(modid = CompactMachines.MOD_ID)
31+
public class CompactMachines {
2932
public static final String MOD_ID = "compactmachines";
3033

3134
public static final Logger LOGGER = LogManager.getLogger();
@@ -43,30 +46,32 @@ public CompactMachines() {
4346
// Register blocks and items
4447
Registration.init();
4548

46-
// Register the setup method for modloading
47-
modBus.addListener(this::setup);
48-
49-
// Register the enqueueIMC method for modloading
50-
modBus.addListener(this::enqueueIMC);
51-
52-
// Register ourselves for server and other game events we are interested in
53-
MinecraftForge.EVENT_BUS.register(this);
54-
5549
ModLoadingContext mlCtx = ModLoadingContext.get();
5650
mlCtx.registerConfig(ModConfig.Type.COMMON, CommonConfig.CONFIG);
5751
mlCtx.registerConfig(ModConfig.Type.SERVER, ServerConfig.CONFIG);
5852

5953
CraftingHelper.register(EnableVanillaRecipesConfigCondition.Serializer.INSTANCE);
6054
}
6155

62-
private void setup(final FMLCommonSetupEvent event)
63-
{
56+
@SubscribeEvent
57+
public static void setup(final FMLCommonSetupEvent event) {
6458
NetworkHandler.initialize();
6559
}
6660

67-
private void enqueueIMC(final InterModEnqueueEvent event)
68-
{
69-
if(ModList.get().isLoaded("theoneprobe"))
61+
@SubscribeEvent
62+
public static void enqueueIMC(final InterModEnqueueEvent event) {
63+
if (ModList.get().isLoaded("theoneprobe"))
7064
TheOneProbeCompat.sendIMC();
7165
}
66+
67+
@SubscribeEvent
68+
public static void onTick(TickEvent.RenderTickEvent e) {
69+
// lol frames r good
70+
// ObfuscationReflectionHelper.setPrivateValue(
71+
// Minecraft.class,
72+
// Minecraft.getInstance(),
73+
// -100,
74+
// "field_71420_M"
75+
// );
76+
}
7277
}

src/main/java/com/robotgryphon/compactmachines/block/BlockCompactMachine.java

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public boolean canConnectRedstone(BlockState state, IBlockReader world, BlockPos
9494

9595
@Override
9696
public int getSignal(BlockState blockState, IBlockReader blockAccess, BlockPos pos, Direction side) {
97-
// TODO Tile Entity
97+
// TODO Redstone out tunnels
9898
// if(!(blockAccess.getTileEntity(pos) instanceof TileEntityMachine)) {
9999
// return 0;
100100
// }
@@ -257,32 +257,6 @@ public void setPlacedBy(World worldIn, BlockPos pos, BlockState state, @Nullable
257257
tile.setChanged();
258258
}
259259

260-
// // TODO: Allow storing of schemas in machines
261-
// if(stack.hasTag()) {
262-
// if(stack.getTag().contains("coords")) {
263-
// int coords = stack.getTag().getInt("coords");
264-
// if (coords != -1) {
265-
// tileEntityMachine.coords = coords;
266-
// if(!world.isRemote) {
267-
// WorldSavedDataMachines.INSTANCE.addMachinePosition(tileEntityMachine.coords, pos, world.provider.getDimension(), tileEntityMachine.getSize());
268-
// StructureTools.setBiomeForCoords(coords, world.getBiome(pos));
269-
// }
270-
// }
271-
// }
272-
//
273-
// if(stack.getTag().contains("schema")) {
274-
// tileEntityMachine.setSchema(stack.getTag().getString("schema"));
275-
// }
276-
//
277-
278-
// }
279-
//
280-
281-
//
282-
// tileEntityMachine.markDirty();
283-
// }
284-
285-
286260
@Override
287261
public ActionResultType use(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) {
288262
if (worldIn.isClientSide())

src/main/java/com/robotgryphon/compactmachines/block/tiles/CompactMachineTile.java

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
import com.robotgryphon.compactmachines.config.ServerConfig;
44
import com.robotgryphon.compactmachines.core.Registration;
5-
import com.robotgryphon.compactmachines.data.CompactMachineCommonData;
6-
import com.robotgryphon.compactmachines.data.SavedMachineData;
7-
import com.robotgryphon.compactmachines.data.machines.CompactMachinePlayerData;
8-
import com.robotgryphon.compactmachines.data.machines.CompactMachineRegistrationData;
5+
import com.robotgryphon.compactmachines.data.legacy.CompactMachineCommonData;
6+
import com.robotgryphon.compactmachines.data.legacy.SavedMachineData;
7+
import com.robotgryphon.compactmachines.data.player.CompactMachinePlayerData;
8+
import com.robotgryphon.compactmachines.data.legacy.CompactMachineRegistrationData;
9+
import com.robotgryphon.compactmachines.data.world.ExternalMachineData;
910
import com.robotgryphon.compactmachines.reference.Reference;
1011
import com.robotgryphon.compactmachines.api.tunnels.TunnelDefinition;
1112
import com.robotgryphon.compactmachines.tunnels.TunnelHelper;
@@ -189,8 +190,8 @@ public CompoundNBT getUpdateTag() {
189190
if (level instanceof ServerWorld) {
190191
Optional<CompactMachinePlayerData> playerData = Optional.empty();
191192
try {
192-
SavedMachineData machineData = SavedMachineData.getInstance(level.getServer());
193-
playerData = machineData.getData().getPlayerData(machineId);
193+
CompactMachinePlayerData psd = CompactMachinePlayerData.get(level.getServer());
194+
// psd = psd.getPlayersInside(this.machineId);
194195
} catch (Exception e) {
195196
e.printStackTrace();
196197
}
@@ -207,14 +208,23 @@ public CompoundNBT getUpdateTag() {
207208
return base;
208209
}
209210

211+
public Optional<ChunkPos> getInternalChunkPos() {
212+
if(level instanceof ServerWorld) {
213+
ExternalMachineData emd = ExternalMachineData.get(level.getServer());
214+
return emd.getChunkLocation(this.machineId);
215+
}
216+
217+
return Optional.empty();
218+
}
219+
210220
@Override
211221
public void handleUpdateTag(BlockState state, CompoundNBT tag) {
212222
super.handleUpdateTag(state, tag);
213223

214224
this.machineId = tag.getInt("machine");
215225
if (tag.contains("players")) {
216226
CompoundNBT players = tag.getCompound("players");
217-
playerData = CompactMachinePlayerData.fromNBT(players);
227+
// playerData = CompactMachinePlayerData.fromNBT(players);
218228

219229
}
220230

@@ -265,11 +275,13 @@ public Optional<CompactMachineRegistrationData> getMachineData() {
265275
}
266276

267277
public boolean hasPlayersInside() {
268-
return CompactMachineCommonData
269-
.getInstance()
270-
.getPlayerData(machineId)
271-
.map(CompactMachinePlayerData::hasPlayers)
272-
.orElse(false);
278+
return false;
279+
// TODO
280+
// return CompactMachineCommonData
281+
// .getInstance()
282+
// .getPlayerData(machineId)
283+
// .map(CompactMachinePlayerData::hasPlayers)
284+
// .orElse(false);
273285
}
274286

275287
protected void doChunkload(boolean force) {
@@ -294,8 +306,9 @@ public void handlePlayerLeft(UUID playerID) {
294306
}
295307

296308
public void handlePlayerEntered(UUID playerID) {
297-
if(this.playerData != null)
298-
this.playerData.addPlayer(playerID);
309+
// TODO
310+
// if(this.playerData != null)
311+
// this.playerData.addPlayer(playerID);
299312
}
300313

301314
/*

src/main/java/com/robotgryphon/compactmachines/block/tiles/TunnelWallTile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.robotgryphon.compactmachines.block.walls.TunnelWallBlock;
44
import com.robotgryphon.compactmachines.core.Registration;
5-
import com.robotgryphon.compactmachines.data.machines.CompactMachineRegistrationData;
5+
import com.robotgryphon.compactmachines.data.legacy.CompactMachineRegistrationData;
66
import com.robotgryphon.compactmachines.network.NetworkHandler;
77
import com.robotgryphon.compactmachines.network.TunnelAddedPacket;
88
import com.robotgryphon.compactmachines.teleportation.DimensionalPosition;

src/main/java/com/robotgryphon/compactmachines/compat/theoneprobe/providers/CompactMachineProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.robotgryphon.compactmachines.block.tiles.TunnelWallTile;
77
import com.robotgryphon.compactmachines.compat.theoneprobe.IProbeData;
88
import com.robotgryphon.compactmachines.core.Registration;
9-
import com.robotgryphon.compactmachines.data.machines.CompactMachineRegistrationData;
9+
import com.robotgryphon.compactmachines.data.legacy.CompactMachineRegistrationData;
1010
import com.robotgryphon.compactmachines.tunnels.TunnelHelper;
1111
import mcjty.theoneprobe.api.IProbeHitData;
1212
import mcjty.theoneprobe.api.IProbeInfo;

src/main/java/com/robotgryphon/compactmachines/core/EventHandler.java

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.robotgryphon.compactmachines.core;
2+
3+
import com.robotgryphon.compactmachines.CompactMachines;
4+
import com.robotgryphon.compactmachines.data.legacy.SavedMachineDataMigrator;
5+
import net.minecraft.server.MinecraftServer;
6+
import net.minecraftforge.eventbus.api.SubscribeEvent;
7+
import net.minecraftforge.fml.common.Mod;
8+
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
9+
10+
@Mod.EventBusSubscriber(modid = CompactMachines.MOD_ID)
11+
public class ServerEventHandler {
12+
13+
@SubscribeEvent
14+
public static void onServerStarting(final FMLServerStartingEvent evt) {
15+
MinecraftServer server = evt.getServer();
16+
SavedMachineDataMigrator.migrate(server);
17+
}
18+
}

0 commit comments

Comments
 (0)