Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
8594ba2
Various changes (#413)
Jeryn99 Dec 25, 2024
4d2aac2
Misc Changes based on Boats reports
Jeryn99 Dec 25, 2024
1fe299f
Fixed shader not working on Mac
Jeryn99 Dec 25, 2024
6e6245a
Fixed some weird rendering calls
Jeryn99 Dec 25, 2024
4dc2788
Added option to disable stencil rendering for MX Mac Devices
Jeryn99 Dec 25, 2024
51669c8
Updated Publishing Information
Jeryn99 Dec 25, 2024
afb2948
Fixed Publishing Information
Jeryn99 Dec 25, 2024
8aa6b6f
Updated Publishing Information
Jeryn99 Dec 25, 2024
cd24a44
Fixed launch bugs
Jeryn99 Dec 25, 2024
3709c78
Update bug_report_template.yml
Jeryn99 Dec 26, 2024
1f6b44e
Closes https://github.com/WhoCraft/TardisRefined/issues/421
Jeryn99 Dec 26, 2024
d67a554
Okay cool, Ed & me, best team
Jeryn99 Dec 26, 2024
eca9af5
fixed forge vortex
EdusgprNetwork Dec 26, 2024
449f647
Fixed scale
Jeryn99 Dec 26, 2024
7b8ff61
Adds Shulker Shell
Jeryn99 Dec 26, 2024
e8fd8c9
Adds Shulker Shell & Fixed Time Vortex
Jeryn99 Dec 26, 2024
71ae6ef
Merge remote-tracking branch 'origin/mc/1.20.2' into mc/1.20.2
Jeryn99 Dec 26, 2024
575c69d
Release 2.1.0 for Minecraft 1.20.1
Jeryn99 Dec 26, 2024
3de7091
Release 2.1.0 for Minecraft 1.20.1
Jeryn99 Dec 26, 2024
e205a29
Release 2.1.1 for Minecraft 1.20.1
Jeryn99 Dec 26, 2024
ba009a1
Merge remote-tracking branch 'origin/mc/1.20.2' into mc/1.20.2
Jeryn99 Dec 26, 2024
1a1dfa6
Release 2.1.0 for Minecraft 1.20.1
Jeryn99 Dec 26, 2024
4f50ae5
Fixed issue with code
Jeryn99 Dec 27, 2024
857516b
Potential fix for https://github.com/WhoCraft/TardisRefined/issues/43…
Jeryn99 Dec 28, 2024
fd0055a
Fixed some misc gradle methods
Jeryn99 Dec 28, 2024
d8b6fc7
Update bug_report_template.yml
50ap5ud5 Dec 29, 2024
6e3ad1a
- Bug Fix: Enter TARDIS with door closed [#422](https://github.com/Wh…
Jeryn99 Dec 29, 2024
5a5fdae
Closes https://github.com/WhoCraft/TardisRefined/issues/437
Jeryn99 Dec 29, 2024
c1c64da
Closes https://github.com/WhoCraft/TardisRefined/issues/438
Jeryn99 Dec 29, 2024
1a18170
Removed all createBodyLayer methods
Jeryn99 Jan 2, 2025
a9513fd
- Bug Fix: Placing and entering TARDIS door in the overworld crashes …
Jeryn99 Jan 3, 2025
8e05984
- Bug Fix: Players can land TARDIs within TARDIS with Landing Pad [#4…
Jeryn99 Jan 3, 2025
3211fb5
- Bug Fix: Fixed TARDIS not storing Adventure Mode Dimensions correctly
Jeryn99 Jan 3, 2025
b492a65
- Bug Fix: Fixed Dedicated Servers on Fabric having issues loading da…
Jeryn99 Jan 4, 2025
b1c9bbd
Update bug_report_template.yml
Jeryn99 Jan 7, 2025
8b0fe84
- API Enhancement: Allows addon mods to register console models more …
Jeryn99 Jan 4, 2025
8a0a261
- Added: Victorian Console (Default) Emission Texture - Added: Victor…
Jeryn99 Jan 4, 2025
4fe1c53
- Bug fix: Fixed duplication happening on logging out mid-flight (and…
Jeryn99 Jan 8, 2025
237ad6e
- Bug fix: Fixed issue where End Dragon fight would not be checked co…
Jeryn99 Jan 8, 2025
f1c1ea2
Small test
Jeryn99 Jan 8, 2025
26f644d
Small test 2
Jeryn99 Jan 8, 2025
c43bbf1
Update github_release.yml
Jeryn99 Jan 8, 2025
7ad8238
Panamax Interior
Jeryn99 Jan 8, 2025
54a4d5b
- Bug fix: Potentially fixed interior door messing up on AMD cards!
Jeryn99 Jan 8, 2025
066415a
- Added use_internal_shaders client config
Jeryn99 Jan 13, 2025
acd5df4
Release 1.20.2 - 2.1.3
Jeryn99 Jan 13, 2025
f6ac7e6
Update bug_report_template.yml
50ap5ud5 Jan 13, 2025
747d3c4
- Version: Bumped to 2.1.4
Jeryn99 Jan 19, 2025
093a986
- Enhancement: Players can now sleep in the TARDIS (No spawnpoint set…
Jeryn99 Jan 27, 2025
fc99ac7
- Enhancement: Doors can now be placed at 2x2 rendering by shift righ…
Jeryn99 Jan 28, 2025
99f4a63
- Bug Fix: Doors being placed at 2x2 rendering off-kilter
Jeryn99 Jan 31, 2025
52f2a02
Ported all current 1.20.1 changes to 1.20.2
Jeryn99 Feb 2, 2025
3289a47
- Bug Fix: Doors being placed at 2x2 rendering off-kilter
Jeryn99 Jan 31, 2025
f92fab6
- Added Sub-Command: Summon
Jeryn99 Feb 2, 2025
299fc17
Update README.md
Jeryn99 Feb 2, 2025
1c7cd17
- Bug fix: Some consoles not rendering over Console Configurator
Jeryn99 Feb 2, 2025
df2c872
- Bug fix: Export Desktop command no longer errors when a user uses u…
Jeryn99 Feb 4, 2025
5907e78
- Bug fix: Fixed Console Configurator not rendering consoles when the…
Jeryn99 Feb 4, 2025
4566d79
- Updated Interior: Copper
Jeryn99 Feb 7, 2025
6f9f207
- Bug fix: Fixed Game crashing when removing mods that add consoles o…
Jeryn99 Feb 7, 2025
da48462
- Bug fix: Sodium compatibility on Fabric
Jeryn99 Feb 7, 2025
a1e20f6
Lang Updates
Jeryn99 Feb 7, 2025
05c4749
- Bug fix: Off kiltered doors placed by setBlock
Jeryn99 Feb 7, 2025
e4cd072
Update bug_report_template.yml
50ap5ud5 Feb 7, 2025
490cf5e
- Bug fix: Fixed class loading destroying other mods ability to load
Jeryn99 Feb 9, 2025
e90cc16
Merge remote-tracking branch 'origin/mc/1.20.2' into mc/1.20.2
Jeryn99 Feb 9, 2025
53a8db3
2.1.5 version bump
Jeryn99 Feb 9, 2025
d1b3812
- Bug fix: Sodium compatibility causing bad class loading
Jeryn99 Feb 9, 2025
4166f3a
- Bug fix: Sodium compatibility causing bad class loading
Jeryn99 Feb 9, 2025
6d3e31c
1.20.2-2.1.5 Release
Jeryn99 Feb 9, 2025
c161e02
Update bug_report_template.yml
Jeryn99 Feb 9, 2025
fc69ee5
Fix minor bug where fuel would alert before eye of harmony was used
CommandrMoose Jun 26, 2025
50ab27f
Allow bed respawning if the TARDIS has the upgrade for it (#525)
CommandrMoose Jun 26, 2025
234192d
Zeiton Glass (#527)
Jeryn99 Jun 29, 2025
0869c57
Assets and Learning (#528)
dhi-holo Jun 29, 2025
8fff71d
Fixes snow having weird overlap issues (#529)
Jeryn99 Jun 29, 2025
fd88995
Screen shake multiplier for client config (#531)
CommandrMoose Jun 30, 2025
becb836
Bulk Head Doors - Naming and no more barrier blocks! (#530)
CommandrMoose Jun 30, 2025
fa13941
Fix placement of BHD block on init. (#532)
CommandrMoose Jul 2, 2025
a823022
Window Polishing (#534)
dhi-holo Jul 6, 2025
826d1ea
Update loom
Acuadragon100 Apr 19, 2026
5e29db7
Increase memory allocation
Acuadragon100 Apr 19, 2026
c5cd99b
Mark gradlew as executable on Linux
Acuadragon100 Apr 19, 2026
fe550db
Merge branch 'dev/1.20.2' into dev/1.20.1-dev-test-merge-from-1.20.2
Acuadragon100 Apr 19, 2026
8f176fc
Fix zeiton glass not rendering properly on Forge.
Acuadragon100 Apr 19, 2026
8ebdf95
Fix zeiton glass not rendering properly if you've never seen a shell …
Acuadragon100 Apr 19, 2026
906b455
Fix bulkhead door name not appearing immediately unless interacting w…
Acuadragon100 Apr 19, 2026
37ebe2f
Always play pattern manipulator sound for bulkhead doors on the serve…
Acuadragon100 Apr 20, 2026
66b9152
Fix world not rendering when in flight with immersive portals installed.
Acuadragon100 Apr 21, 2026
45a9b45
Make monitor accessible when console broken (from 1.20.2).
Acuadragon100 Apr 21, 2026
516c29e
Fix TARDIS facing the wrong way after being moved by another source.
Acuadragon100 Apr 21, 2026
73a225c
Make sure immersive portal changes whether it can teleport players na…
Acuadragon100 Apr 22, 2026
2225098
Fix zeiton glass not rendering on ships.
Acuadragon100 Apr 22, 2026
812bde9
Fix vortex not rendering in GUIs.
Acuadragon100 Apr 26, 2026
bb3716f
Fix players getting damaged and getting potion effects while in shell…
Acuadragon100 Apr 26, 2026
93bda4a
Fix typo
Acuadragon100 Apr 28, 2026
cd03638
Have both game renderer mixins in the same class.
Acuadragon100 Apr 28, 2026
356519c
Merge the Create Forge and Create Fabric compatibility code.
Acuadragon100 Apr 28, 2026
6e8bab0
Fix Create TARDIS Summary not displaying all lines correctly.
Acuadragon100 Apr 28, 2026
5723967
Fix crash when exiting the world near a TARDIS display source while V…
Acuadragon100 Apr 28, 2026
efaf7d4
Skip setting level in deserialize. It spams the log on the client. Se…
Acuadragon100 May 3, 2026
72f8316
Fix server continuing to print "Preparing spawn area: 100%" every tim…
Acuadragon100 May 3, 2026
5edb80a
Remove duplicate shulker shell textures.
Acuadragon100 May 12, 2026
b6349f5
Make sure TARDIS dimensions are not removed from `tardis_refined_tard…
Acuadragon100 May 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ buildscript {

plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.10+" apply false
id "dev.architectury.loom" version "1.13+" apply false
id "me.shedaniel.unified-publishing" version "0.1.+"
id "com.github.breadmoirai.github-release" version "2.4.1"
}
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,10 @@
- Bug fix: TARDIS removes forceloading when taking off and landing.
- Bug fix: TARDIS takeoff sound plays from the interior door instead of the console.
- Bug fix: Immersive Portals compatibility crashing the game on Forge.
- Bug fix: Vortex not rendering in GUIs when Journeymap or Kilt is installed.
- Bug fix: TARDIS cannot reach edges when moving in the vortex view on Forge.
- Bug fix: Players can take damage or die while in shell view.
- Bug fix: Players can receive new potion effects while in shell view.
- Bug fix: Create TARDIS Summary does not display all lines correctly.
- Bug fix: Crash when closing the game near a TARDIS Create display while Valkyrien Skies is installed.
- Bug fix: Recently created TARDIS keeps printing "Preparing spawn area: 100%" every time a chunk loads until the server is restarted.
1 change: 1 addition & 0 deletions common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ dependencies {
transitive(false)
}

modCompileOnly("com.simibubi.create:create-fabric-${minecraft_version}:${create_version_fabric}")
modCompileOnly("maven.modrinth:valkyrien-skies:${minecraft_version}-fabric-${valkyrienskies_version}")

}
Expand Down
2 changes: 2 additions & 0 deletions common/src/main/java/whocraft/tardis_refined/TRConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,15 @@ public static class Client {
public final ForgeConfigSpec.BooleanValue PLAY_CONSOLE_IDLE_ANIMATIONS;
public final ForgeConfigSpec.BooleanValue RENDER_VORTEX_IN_DOOR;
public final ForgeConfigSpec.BooleanValue USE_INTERNAL_SHADERS;
public final ForgeConfigSpec.DoubleValue SCREEN_SHAKE_MULTIPLIER;

public Client(ForgeConfigSpec.Builder builder) {
builder.push("rendering");
CONTROL_NAMES = builder.comment("Toggle control name rendering").translation(ModMessages.CONFIG_CONTROL_NAMES).define("control_name_rendering", true);
PLAY_CONSOLE_IDLE_ANIMATIONS = builder.comment("Play idle console animations").translation(ModMessages.CONFIG_IDLE_CONSOLE_ANIMS).define("console_idle_animations", true);
RENDER_VORTEX_IN_DOOR = builder.comment("Skip Vortex rendering").translation(ModMessages.CONFIG_RENDER_VORTEX_IN_DOOR).define("render_vortex_in_door", true);
USE_INTERNAL_SHADERS = builder.comment("Use Custom Internal Shaders").translation(ModMessages.CONFIG_CUSTOM_SHADERS).define("use_internal_shaders", true);
SCREEN_SHAKE_MULTIPLIER = builder.comment("Adjust the amount the game shakes the screen during travel").translation(ModMessages.SCREEN_SHAKE_MULTIPLIER).defineInRange("screen_shake_multiplier", 1d, 0, 2);
builder.pop();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.common.world.ChunkGenerators;
import whocraft.tardis_refined.common.world.Features;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.create.CreateIntergrationsInit;
import whocraft.tardis_refined.patterns.ConsolePatterns;
import whocraft.tardis_refined.patterns.ShellPatterns;
import whocraft.tardis_refined.registry.*;
Expand Down Expand Up @@ -72,6 +74,10 @@ public static void init() {

TRARSStructurePieceRegistry.register();
//registerFallbackEntries();

if (ModCompatChecker.create()) {
CreateIntergrationsInit.init();
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
package whocraft.tardis_refined.client;

import dev.architectury.injectables.annotations.ExpectPlatform;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.geom.EntityModelSet;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.resources.ResourceLocation;
import whocraft.tardis_refined.client.model.blockentity.life.ZeitonGlassModel;
import whocraft.tardis_refined.common.util.PlatformWarning;

import java.util.function.Supplier;
Expand Down Expand Up @@ -78,6 +81,7 @@ public class ModelRegistry {
public static ModelLayerLocation BULK_HEAD_DOOR = interiorDoor("bulk_head_door");

public static ModelLayerLocation ARTRON_PILLAR = createLocation("artron_pillar", "technology");
public static ModelLayerLocation ZEITON_GLASS = createLocation("zeiton_glass", "living");

private static ModelLayerLocation interiorDoor(String name) {
return createLocation(name, "door");
Expand All @@ -96,6 +100,16 @@ private static ModelLayerLocation createLocation(String name, String layer) {
return new ModelLayerLocation(new ResourceLocation(MODID, name), layer);
}

private static ZeitonGlassModel zeitonGlassModel;

public static ZeitonGlassModel getZeitonGlassModel() {
if (zeitonGlassModel == null) {
EntityModelSet entityModels = Minecraft.getInstance().getEntityModels();
zeitonGlassModel = new ZeitonGlassModel(entityModels.bakeLayer(ZEITON_GLASS));
}
return zeitonGlassModel;
}

public static void init() {

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package whocraft.tardis_refined.client;

public interface PoseStackExtension {

void tardis_refined$setUpdateZOffset(boolean updateOffset);

}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.client.sounds.HumSoundManager;
import whocraft.tardis_refined.client.sounds.QuickSimpleSound;
import whocraft.tardis_refined.client.sounds.TRSoundInstances;
Expand Down Expand Up @@ -274,12 +275,12 @@ private static void handleScreenShake(TardisClientData clientData, Player player

if (player.level().dimension() == clientData.getLevelKey()) {
if (clientData.isCrashing()) {
player.setXRot(player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f);
player.setYHeadRot(player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f);
player.setXRot((float) (player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f * TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
player.setYHeadRot((float) (player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f * TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
} else {
if (clientData.isFlying()) {
player.setXRot(player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f));
player.setYHeadRot(player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f));
player.setXRot((float) (player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f)* TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
player.setYHeadRot((float) (player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f)* TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package whocraft.tardis_refined.client;

import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;

import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;

public class ZeitonGlassTracker {
public static final Set<ZeitonGlassBlockEntity> loadedGlass = ConcurrentHashMap.newKeySet();

public static void onLoad(ZeitonGlassBlockEntity entity) {
loadedGlass.add(entity);
}

public static void onUnload(ZeitonGlassBlockEntity entity) {
loadedGlass.remove(entity);
}



public static void clear() {
loadedGlass.clear();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package whocraft.tardis_refined.client.model.blockentity.life;

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.world.level.block.entity.BlockEntity;

public interface PortalModel<T extends BlockEntity> {
void renderPortalMask(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package whocraft.tardis_refined.client.model.blockentity.life;

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;

public class ZeitonGlassModel extends EntityModel implements PortalModel<ZeitonGlassBlockEntity> {

private final ModelPart root;

public ZeitonGlassModel(ModelPart root) {
this.root = root;
}

@Override
public void renderPortalMask(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
root.render(poseStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);
}

@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay,
float red, float green, float blue, float alpha) {
root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}


@Override
public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public void registerModels(EntityModelSet context) {
bigBenDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.BIG_BEN_DOOR)), 275f);
phoneBoothDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PHONE_BOOTH_DOOR)), (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f));
portalooDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PORTALOO_DOOR)), (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f));
groeningDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.GROENING_DOOR)), -275f);
groeningDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.GROENING_DOOR)), 275f);

drifterDoorModel = new SingleTexInteriorDoorModel(context.bakeLayer((ModelRegistry.DRIFTER_DOOR)));
vendingDoorModel = new SingleTexInteriorDoorModel(context.bakeLayer((ModelRegistry.VENDING_DOOR)));
Expand All @@ -95,7 +95,7 @@ public void registerModels(EntityModelSet context) {

growthDoorModel = new GrowthDoorModel(context.bakeLayer((ModelRegistry.GROWTH_DOOR)));

pagodaDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PAGODA_DOOR)), -275f);
pagodaDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PAGODA_DOOR)), 275f);

liftDoorModel = new DualTexInteriorDoorModel(context.bakeLayer((ModelRegistry.LIFT_DOOR)));

Expand All @@ -104,7 +104,6 @@ public void registerModels(EntityModelSet context) {
halfBakedDoorModel = new HalfBakedDoorModel(context.bakeLayer((ModelRegistry.HALF_BAKED_DOOR)));
shulkerDoorModel = new ShulkerDoorModel(context.bakeLayer((ModelRegistry.SHULKER_DOOR)));


TardisClientEvents.SHELLENTRY_MODELS_SETUP.invoker().setUpShellAndInteriorModels(context);

registerShellEntry(ShellTheme.FACTORY.get(), factoryShellModel, factoryDoorModel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.world.phys.Vec3;
import org.joml.Matrix4f;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.client.renderer.RenderHelper;
import whocraft.tardis_refined.client.renderer.vortex.VortexRenderer;
import whocraft.tardis_refined.client.screen.screens.ShellSelectionScreen;
import whocraft.tardis_refined.common.VortexRegistry;
Expand Down Expand Up @@ -161,7 +162,7 @@ public static void renderOverlay(GuiGraphics gg) {

Matrix4f perspective = new Matrix4f();
perspective.perspective((float) Math.toRadians(mc.options.fov().get()), width / height, 1, 9999, false, perspective);
perspective.translate(0, 0, Platform.isForge() ? 9990f : 11000f - (float) camdist * mulinv - 5 * mul);
perspective.translate(0, 0, RenderHelper.currentProjectionZOffset - (float) camdist * mulinv - 5 * mul);
RenderSystem.setProjectionMatrix(perspective, VertexSorting.DISTANCE_TO_ORIGIN);

pose.pushPose();
Expand All @@ -179,6 +180,9 @@ public static void renderOverlay(GuiGraphics gg) {
pose.translate(4 * tardisX * mul, 4 * tardisY * mul, 0);
pose.mulPose(Axis.ZP.rotationDegrees((float) (mul * -450 * velX)));
pose.mulPose(Axis.ZP.rotationDegrees(mul * VORTEX.lightning_strike * 90 * Mth.sin(VORTEX.lightning_strike)));
if (Platform.isForge()) {
pose.scale(0.4f, 0.4f, 0.4f);
}

pose.pushPose();
pose.translate(0.5,0,0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ public class RenderHelper {

public static Tesselator tesselator;

public static float currentProjectionZOffset = 11000;

public static void renderFilledBox(PoseStack stack, VertexConsumer vertexConsumer, AABB box, float red, float green, float blue, float alpha, int combinedLightIn) {
Matrix4f matrix = stack.last().pose();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package whocraft.tardis_refined.client.renderer.blockentity.door;

import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;

import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.client.model.blockentity.door.interior.BulkHeadDoorModel;
import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorExtensionBlockEntity;

public class BulkHeadDoorExtensionRenderer implements BlockEntityRenderer<BulkHeadDoorExtensionBlockEntity>, BlockEntityRendererProvider<BulkHeadDoorExtensionBlockEntity> {

public BulkHeadDoorExtensionRenderer(BlockEntityRendererProvider.Context context) {

}

@Override
public boolean shouldRenderOffScreen(BulkHeadDoorExtensionBlockEntity blockEntity) {
return false;
}

@Override
public void render(BulkHeadDoorExtensionBlockEntity blockEntity, float f, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, int j) {

}

@Override
public BlockEntityRenderer<BulkHeadDoorExtensionBlockEntity> create(BlockEntityRendererProvider.Context context) {
return new BulkHeadDoorExtensionRenderer(context);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,20 @@

import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Axis;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Font;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.client.renderer.blockentity.SignRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FormattedCharSequence;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import org.joml.Matrix4f;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.client.model.blockentity.door.interior.BulkHeadDoorModel;
Expand All @@ -26,14 +33,44 @@ public BulkHeadDoorRenderer(BlockEntityRendererProvider.Context context) {

@Override
public void render(BulkHeadDoorBlockEntity blockEntity, float f, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, int j) {
poseStack.pushPose();
poseStack.translate(0.5F, 1.475F, 0.5F);
poseStack.mulPose(Axis.ZP.rotationDegrees(180F));

BlockState blockstate = blockEntity.getBlockState();
float rotation = blockstate.getValue(GlobalDoorBlock.FACING).toYRot();
boolean isOpen = blockstate.getValue(GlobalDoorBlock.OPEN);

poseStack.pushPose();
poseStack.translate(0.5F, 1.5F, 0.5F);
poseStack.mulPose(Axis.ZP.rotationDegrees(180F));

poseStack.mulPose(Axis.YP.rotationDegrees(rotation));
bulkHeadDoorModel.setDoorPosition(blockstate);
bulkHeadDoorModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(getTextureForState(blockstate))), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);

if (blockEntity.getDoorName() != null && !isOpen) {
Matrix4f textMatrix = poseStack.last().pose();
poseStack.scale(-0.025F, 0.025F, 0.025F);
int verticalTextOffset = 0;
float offDoorOffset = 8f;

Font font = Minecraft.getInstance().font;

Component name = Component.literal(blockEntity.getDoorName());

float textHorizontalPosition = (float) -(font.width(name) / 2);

FormattedCharSequence sequence = name.getVisualOrderText();

poseStack.translate(0, 10f, offDoorOffset*2-4.75);


font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 1, textMatrix, multiBufferSource, 255);

poseStack.mulPose(Axis.YP.rotationDegrees(180f));
poseStack.translate(0, 0, offDoorOffset*2+6);

font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 1, textMatrix, multiBufferSource, 255);
}

poseStack.popPose();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package whocraft.tardis_refined.client.renderer.blockentity.life;

import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.client.model.blockentity.life.ZeitonGlassModel;
import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;

public class ZeitonGlassRenderer implements BlockEntityRenderer<ZeitonGlassBlockEntity>, BlockEntityRendererProvider<ZeitonGlassBlockEntity> {

private final ZeitonGlassModel zeitonGlassModel;

public ZeitonGlassRenderer(Context context) {
this.zeitonGlassModel = new ZeitonGlassModel(context.bakeLayer(ModelRegistry.ZEITON_GLASS));
}

@Override
public void render(ZeitonGlassBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource multiBufferSource, int packedLight, int packedOverlay) {
}

@Override
public BlockEntityRenderer<ZeitonGlassBlockEntity> create(Context context) {
return new ZeitonGlassRenderer(context);
}
}
Loading