Skip to content

Commit d346212

Browse files
committed
Basic UI PoC and rotation code
1 parent e20476c commit d346212

26 files changed

+1424
-14
lines changed

build.gradle

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ repositories {
259259

260260
// TheOneProbe
261261
maven {
262-
name 'tterrag maven'
262+
url "https://maven.k-4u.nl"
263+
}
264+
265+
maven {
266+
name "tterrag maven"
263267
url "https://maven.tterrag.com/"
264268
}
265269
}
@@ -276,15 +280,19 @@ dependencies {
276280

277281
// The One Probe
278282
implementation(fg.deobf("curse.maven:theoneprobe-245211:3671753"))
279-
// compileOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-1.16:${top_version}:api")
280-
// runtimeOnly fg.deobf("mcjty.theoneprobe:TheOneProbe-1.16:${top_version}")
283+
// compileOnly fg.deobf("mcjty.theoneprobe:theoneprobe:${top_version}:api")
284+
// runtimeOnly fg.deobf("mcjty.theoneprobe:theoneprobe:${top_version}") {
285+
// transitive = false
286+
// }
281287

282288
// Nicephore - Screenshots and Stuff
283289
runtimeOnly(fg.deobf("curse.maven:nicephore-401014:3651214"))
284290

285291
// Shut up Experimental Settings - so we don't have to deal with that CONSTANTLY
286292
runtimeOnly(fg.deobf("curse.maven:shutupexperimental-407174:3544525"))
287293

294+
implementation fg.deobf("com.jozufozu.flywheel:Flywheel-Forge:${flywheel_version}")
295+
288296
// // Testing Mods - Trash Cans, Pipez, Create, Refined Pipes, Pretty Pipes, Refined Storage
289297
// runtimeOnly(fg.deobf("curse.maven:SuperMartijn642-454372:3649270"))
290298
// runtimeOnly(fg.deobf("curse.maven:trashcans-394535:3597654"))

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ mod_id=compactmachines
1111
# Dependencies and Libs
1212
jei_mc_version=1.18.2
1313
jei_version=9.5.2.135
14-
#top_version=1.16-3.1.4-22
14+
top_version=1.18-5.1.0-8
15+
flywheel_version=1.18-0.6.2.64
1516

1617
# Curseforge
1718
cf_project=224218

src/main/java/dev/compactmods/machines/CompactMachines.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import dev.compactmods.machines.config.ServerConfig;
66
import dev.compactmods.machines.core.Registration;
77
import dev.compactmods.machines.core.Tunnels;
8+
import dev.compactmods.machines.core.UIRegistration;
89
import net.minecraft.world.item.CreativeModeTab;
910
import net.minecraft.world.item.ItemStack;
1011
import net.minecraftforge.common.crafting.CraftingHelper;
@@ -37,6 +38,7 @@ public CompactMachines() {
3738
// Register blocks and items
3839
var eb = FMLJavaModLoadingContext.get().getModEventBus();
3940
Registration.init(eb);
41+
UIRegistration.init(eb);
4042
Tunnels.init(eb);
4143

4244
ModLoadingContext mlCtx = ModLoadingContext.get();

src/main/java/dev/compactmods/machines/client/ClientEventHandler.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package dev.compactmods.machines.client;
22

33
import dev.compactmods.machines.CompactMachines;
4+
import dev.compactmods.machines.client.screen.MachineRoomScreen;
45
import dev.compactmods.machines.core.Tunnels;
6+
import dev.compactmods.machines.core.UIRegistration;
7+
import net.minecraft.client.gui.screens.MenuScreens;
58
import net.minecraft.client.renderer.ItemBlockRenderTypes;
69
import net.minecraft.client.renderer.RenderType;
710
import net.minecraftforge.api.distmarker.Dist;
@@ -27,5 +30,7 @@ public static void onBlockColors(final ColorHandlerEvent.Block colors) {
2730
public static void onClientSetup(final FMLClientSetupEvent client) {
2831
RenderType cutout = RenderType.cutoutMipped();
2932
ItemBlockRenderTypes.setRenderLayer(Tunnels.BLOCK_TUNNEL_WALL.get(), cutout);
33+
34+
MenuScreens.register(UIRegistration.MACHINE_MENU.get(), MachineRoomScreen::new);
3035
}
3136
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package dev.compactmods.machines.client.level;
2+
3+
import net.minecraft.world.entity.Entity;
4+
import net.minecraft.world.level.entity.EntityTypeTest;
5+
import net.minecraft.world.level.entity.LevelEntityGetter;
6+
import net.minecraft.world.phys.AABB;
7+
8+
import javax.annotation.Nullable;
9+
import java.util.Collections;
10+
import java.util.UUID;
11+
import java.util.function.Consumer;
12+
13+
public class EmptyLevelEntityGetter implements LevelEntityGetter<Entity> {
14+
@Nullable
15+
@Override
16+
public Entity get(int p_156931_) {
17+
return null;
18+
}
19+
20+
@Nullable
21+
@Override
22+
public Entity get(UUID p_156939_) {
23+
return null;
24+
}
25+
26+
@Override
27+
public Iterable<Entity> getAll() {
28+
return Collections.emptySet();
29+
}
30+
31+
@Override
32+
public <U extends Entity> void get(EntityTypeTest<Entity, U> p_156935_, Consumer<U> p_156936_) {
33+
34+
}
35+
36+
@Override
37+
public void get(AABB p_156937_, Consumer<Entity> p_156938_) {
38+
39+
}
40+
41+
@Override
42+
public <U extends Entity> void get(EntityTypeTest<Entity, U> p_156932_, AABB p_156933_, Consumer<U> p_156934_) {
43+
44+
}
45+
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package dev.compactmods.machines.client.level;
2+
3+
import net.minecraft.world.Difficulty;
4+
import net.minecraft.world.level.GameRules;
5+
import net.minecraft.world.level.storage.WritableLevelData;
6+
7+
/**
8+
* Credits to Immersive Engineering manual code for a baseline in 1.18.x.
9+
* Source: https://github.com/BluSunrize/ImmersiveEngineering/blob/1.18.2/src/main/java/blusunrize/immersiveengineering/common/util/fakeworld/FakeSpawnInfo.java
10+
*/
11+
public class FakeSpawnInfo implements WritableLevelData {
12+
private static final GameRules RULES = new GameRules();
13+
14+
private int spawnX;
15+
private int spawnY;
16+
private int spawnZ;
17+
private float spawnAngle;
18+
19+
@Override
20+
public void setXSpawn(int x)
21+
{
22+
spawnX = x;
23+
}
24+
25+
@Override
26+
public void setYSpawn(int y)
27+
{
28+
spawnY = y;
29+
}
30+
31+
@Override
32+
public void setZSpawn(int z)
33+
{
34+
spawnZ = z;
35+
}
36+
37+
@Override
38+
public void setSpawnAngle(float angle)
39+
{
40+
spawnAngle = angle;
41+
}
42+
43+
@Override
44+
public int getXSpawn()
45+
{
46+
return spawnX;
47+
}
48+
49+
@Override
50+
public int getYSpawn()
51+
{
52+
return spawnY;
53+
}
54+
55+
@Override
56+
public int getZSpawn()
57+
{
58+
return spawnZ;
59+
}
60+
61+
@Override
62+
public float getSpawnAngle()
63+
{
64+
return spawnAngle;
65+
}
66+
67+
@Override
68+
public long getGameTime()
69+
{
70+
return 0;
71+
}
72+
73+
@Override
74+
public long getDayTime()
75+
{
76+
return 0;
77+
}
78+
79+
@Override
80+
public boolean isThundering()
81+
{
82+
return false;
83+
}
84+
85+
@Override
86+
public boolean isRaining()
87+
{
88+
return false;
89+
}
90+
91+
@Override
92+
public void setRaining(boolean isRaining)
93+
{
94+
95+
}
96+
97+
@Override
98+
public boolean isHardcore()
99+
{
100+
return false;
101+
}
102+
103+
@Override
104+
public GameRules getGameRules()
105+
{
106+
return RULES;
107+
}
108+
109+
@Override
110+
public Difficulty getDifficulty()
111+
{
112+
return Difficulty.PEACEFUL;
113+
}
114+
115+
@Override
116+
public boolean isDifficultyLocked()
117+
{
118+
return false;
119+
}
120+
}

0 commit comments

Comments
 (0)