Skip to content

Commit aa44802

Browse files
committed
commit whatever this is
1 parent 664ded7 commit aa44802

File tree

5 files changed

+33
-32
lines changed

5 files changed

+33
-32
lines changed

src/main/java/com/cleanroommc/modularui/factory/HoloGuiManager.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ public static <T extends GuiData> void open(@NotNull UIFactory<T> factory, @NotN
5959
.screenScale(0.5f)
6060
.inFrontOf(player, 5, true)
6161
.open(screen -> {
62-
screen.setContainer(container);
6362
screen.setPanel(panel);
6463
//HoloUI.registerSyncedHoloUI(panel, screen);
6564
}, player.getEntityWorld());
@@ -97,7 +96,6 @@ public static <T extends GuiData> void open(int windowId, @NotNull UIFactory<T>
9796
.open(screen1 -> {
9897
screen1.setPanel(panel);
9998
screen1.setWrapper(guiScreenWrapper);
100-
//HoloUI.registerSyncedHoloUI(panel, screen1);
10199
}, player.getEntityWorld());
102100
}
103101

src/main/java/com/cleanroommc/modularui/holoui/HoloScreenEntity.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.cleanroommc.modularui.holoui;
22

3+
import com.cleanroommc.modularui.api.IMuiScreen;
4+
import com.cleanroommc.modularui.api.MCHelper;
35
import com.cleanroommc.modularui.screen.*;
46

57
import net.minecraft.block.Block;
@@ -24,8 +26,7 @@
2426
@ApiStatus.Experimental
2527
public class HoloScreenEntity extends Entity {
2628

27-
private GuiContainerWrapper wrapper;
28-
private ModularContainer container;
29+
private IMuiScreen wrapper;
2930
private ModularPanel panel;
3031
private final Plane3D plane3D;
3132
private static final DataParameter<Byte> ORIENTATION = EntityDataManager.createKey(HoloScreenEntity.class, DataSerializers.BYTE);
@@ -39,16 +40,11 @@ public HoloScreenEntity(World world) {
3940
this(world, new Plane3D());
4041
}
4142

42-
public void setWrapper(GuiContainerWrapper wrapper) {
43+
public void setWrapper(IMuiScreen wrapper) {
4344
this.wrapper = wrapper;
44-
this.wrapper.setWorldAndResolution(Minecraft.getMinecraft(), (int) this.plane3D.getWidth(), (int) this.plane3D.getHeight());
45-
this.getScreen().getContext().holoScreen = this;
46-
this.getScreen().getContext().isHoloScreen = true;
47-
setContainer(wrapper.getScreen().getContainer());
48-
}
49-
50-
public void setContainer(ModularContainer container) {
51-
this.container = container;
45+
this.wrapper.getGuiScreen().setWorldAndResolution(Minecraft.getMinecraft(), (int) this.plane3D.getWidth(), (int) this.plane3D.getHeight());
46+
this.wrapper.getScreen().getContext().holoScreen = this;
47+
this.wrapper.getScreen().getContext().isHoloScreen = true;
5248
}
5349

5450
public void setPanel(ModularPanel panel) {
@@ -59,7 +55,7 @@ public ModularScreen getScreen() {
5955
return this.getWrapper().getScreen();
6056
}
6157

62-
public GuiContainerWrapper getWrapper() {
58+
public IMuiScreen getWrapper() {
6359
return this.wrapper;
6460
}
6561

@@ -110,8 +106,9 @@ public void onEntityUpdate() {
110106
this.getEntityWorld().removeEntity(this);
111107
return;
112108
}
113-
if (w != this.wrapper.width || h != this.wrapper.height) {
114-
this.wrapper.onResize(Minecraft.getMinecraft(), w, h);
109+
var wrapper = this.wrapper.getGuiScreen();
110+
if (w != wrapper.width || h != wrapper.height) {
111+
wrapper.onResize(Minecraft.getMinecraft(), w, h);
115112
}
116113
this.wrapper.getScreen().onUpdate();
117114
}

src/main/java/com/cleanroommc/modularui/holoui/HoloUI.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.cleanroommc.modularui.holoui;
22

3+
import net.minecraft.client.renderer.Vector3d;
34
import net.minecraft.entity.player.EntityPlayer;
45
import net.minecraft.util.math.BlockPos;
56
import net.minecraft.util.math.Vec3d;
@@ -23,21 +24,25 @@ public static Builder builder() {
2324
public static class Builder {
2425

2526
private double x, y, z;
27+
private Vec3d from, to;
2628
private Plane3D plane3D = new Plane3D();
2729
private ScreenOrientation orientation = ScreenOrientation.FIXED;
2830

31+
private Builder() {
32+
from = to = Vec3d.ZERO;
33+
}
34+
2935
public Builder at(double x, double y, double z) {
3036
this.x = x;
3137
this.y = y;
3238
this.z = z;
39+
this.from = new Vec3d(this.x - 0.5D, this.y - 0.5D, this.z - 0.5D);
40+
this.to = new Vec3d(this.x + 0.5D, this.y + 0.5D, this.z + 0.5D);
3341
return this;
3442
}
3543

3644
public Builder at(BlockPos pos) {
37-
this.x = pos.getX() + 0.5D;
38-
this.y = pos.getY() + 0.5D;
39-
this.z = pos.getZ() + 0.5D;
40-
return this;
45+
return at(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D);
4146
}
4247

4348
public Builder inFrontOf(EntityPlayer player, double distance, boolean fixed) {
@@ -79,20 +84,12 @@ public Builder plane(Plane3D plane) {
7984
}
8085

8186
public void open(Consumer<HoloScreenEntity> entityConsumer, World world) {
82-
// JeiSettingsImpl jeiSettings = new JeiSettingsImpl();
83-
// jeiSettings.disableJei();
84-
// screen.getContext().setJeiSettings(jeiSettings);
85-
86-
// wrapper.getScreen().getContext().isHoloScreen = true;
87+
this.plane3D.setBounds(this.from, this.to);
8788
HoloScreenEntity screen = new HoloScreenEntity(world, this.plane3D);
8889
screen.setPosition(this.x, this.y, this.z);
8990
screen.setOrientation(this.orientation);
9091
entityConsumer.accept(screen);
9192
screen.spawnInWorld();
92-
// holoScreenEntity.setPosition(this.x, this.y, this.z);
93-
// holoScreenEntity.setWrapper(wrapper);
94-
// holoScreenEntity.spawnInWorld();
95-
// holoScreenEntity.setOrientation(this.orientation);
9693
}
9794

9895
public void reposition(EntityPlayer player, Collection<HoloScreenEntity> screens) {

src/main/java/com/cleanroommc/modularui/holoui/Plane3D.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public class Plane3D {
2222
private float aX = 0.5f, aY = 0.5f;
2323
private Vec3d normal = Direction.NORTH.asVec3d();
2424
private Vec3d rotation = this.normal;
25+
private Vec3d from = Vec3d.ZERO;
26+
private Vec3d to = new Vec3d(1, 1, 0);
2527

2628

2729
public void transform() {
@@ -61,6 +63,11 @@ public void transform(Vec3d target, Vec3d orig) {
6163
GlStateManager.translate(-(this.w / 2f), -(this.h / 2f), 0);
6264
}
6365

66+
public void setBounds(Vec3d from, Vec3d to) {
67+
this.from = from;
68+
this.to = to;
69+
}
70+
6471
public void setSize(float w, float h) {
6572
this.w = w;
6673
this.h = h;

src/main/java/com/cleanroommc/modularui/holoui/ScreenEntityRender.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.cleanroommc.modularui.holoui;
22

3+
import com.cleanroommc.modularui.api.IMuiScreen;
34
import com.cleanroommc.modularui.screen.GuiContainerWrapper;
45
import com.cleanroommc.modularui.utils.Animator;
56

67
import net.minecraft.client.Minecraft;
8+
import net.minecraft.client.gui.inventory.GuiContainer;
79
import net.minecraft.client.renderer.GlStateManager;
810
import net.minecraft.client.renderer.culling.ICamera;
911
import net.minecraft.client.renderer.entity.Render;
@@ -28,7 +30,7 @@
2830
*/
2931
@ApiStatus.Experimental
3032
public class ScreenEntityRender extends Render<HoloScreenEntity> {
31-
private static final Map<UUID, GuiContainerWrapper> lookingPlayers = new Object2ObjectOpenHashMap<>();
33+
private static final Map<UUID, IMuiScreen> lookingPlayers = new Object2ObjectOpenHashMap<>();
3234

3335
public ScreenEntityRender(RenderManager renderManager) {
3436
super(renderManager);
@@ -42,7 +44,7 @@ protected ResourceLocation getEntityTexture(@NotNull HoloScreenEntity entity) {
4244

4345
@Override
4446
public void doRender(@NotNull HoloScreenEntity entity, double x, double y, double z, float entityYaw, float partialTicks) {
45-
GuiContainerWrapper screenWrapper = entity.getWrapper();
47+
var screenWrapper = entity.getWrapper();
4648
if (screenWrapper == null) return;
4749
var screen = screenWrapper.getScreen();
4850

@@ -73,7 +75,7 @@ public void doRender(@NotNull HoloScreenEntity entity, double x, double y, doubl
7375
public static void clickScreen(EntityPlayer player) {
7476
if (lookingPlayers.containsKey(player.getUniqueID())) {
7577
try {
76-
lookingPlayers.get(player.getUniqueID()).handleMouseInput();
78+
lookingPlayers.get(player.getUniqueID()).getGuiScreen().handleMouseInput();
7779
} catch (Throwable throwable1) {
7880
CrashReport c = CrashReport.makeCrashReport(throwable1, "Updating screen events");
7981
c.makeCategory("Affected screen")

0 commit comments

Comments
 (0)