forked from FabricMC/fabric
20w12a
This commit is contained in:
parent
0aae0f4159
commit
d249f7b6d6
43 changed files with 78 additions and 73 deletions
|
@ -12,9 +12,9 @@ plugins {
|
|||
def ENV = System.getenv()
|
||||
|
||||
class Globals {
|
||||
static def baseVersion = "0.5.3"
|
||||
static def mcVersion = "20w11a"
|
||||
static def yarnVersion = "+build.1"
|
||||
static def baseVersion = "0.5.4"
|
||||
static def mcVersion = "20w12a"
|
||||
static def yarnVersion = "+build.3"
|
||||
}
|
||||
|
||||
import org.apache.commons.codec.digest.DigestUtils
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-containers-v0"
|
||||
version = getSubprojectVersion(project, "0.1.6")
|
||||
version = getSubprojectVersion(project, "0.1.7")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
|
||||
package net.fabricmc.fabric.api.client.screen;
|
||||
|
||||
import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
|
||||
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
||||
import net.minecraft.screen.ScreenHandler;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface ContainerScreenFactory<C extends ScreenHandler> {
|
||||
ScreenWithHandler create(C container);
|
||||
HandledScreen create(C container);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
package net.fabricmc.fabric.api.client.screen;
|
||||
|
||||
import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
|
||||
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
||||
import net.minecraft.screen.ScreenHandler;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
|
@ -40,7 +40,7 @@ public interface ScreenProviderRegistry {
|
|||
* to override the default behaviour of re-using the existing "packet -> Container" logic.
|
||||
*
|
||||
* @param identifier a shared identifier, this identifier should also be used to register a container using {@link ContainerProviderRegistry}
|
||||
* @param factory the gui factory, this should return a new {@link ScreenWithHandler}
|
||||
* @param factory the gui factory, this should return a new {@link HandledScreen}
|
||||
*/
|
||||
void registerFactory(Identifier identifier, ContainerFactory<ScreenWithHandler> factory);
|
||||
void registerFactory(Identifier identifier, ContainerFactory<HandledScreen> factory);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.container;
|
|||
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
@FunctionalInterface
|
||||
public interface ContainerFactory<T> {
|
||||
|
|
|
@ -22,7 +22,7 @@ import net.minecraft.screen.ScreenHandler;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry;
|
||||
import net.fabricmc.fabric.impl.container.ContainerProviderImpl;
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.apache.logging.log4j.Logger;
|
|||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
|
||||
import net.minecraft.client.gui.screen.ingame.HandledScreen;
|
||||
import net.minecraft.screen.ScreenHandler;
|
||||
|
||||
import net.fabricmc.fabric.api.client.screen.ContainerScreenFactory;
|
||||
|
@ -42,10 +42,10 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
|
|||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private static final Map<Identifier, ContainerFactory<ScreenWithHandler>> FACTORIES = new HashMap<>();
|
||||
private static final Map<Identifier, ContainerFactory<HandledScreen>> FACTORIES = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public void registerFactory(Identifier identifier, ContainerFactory<ScreenWithHandler> factory) {
|
||||
public void registerFactory(Identifier identifier, ContainerFactory<HandledScreen> factory) {
|
||||
if (FACTORIES.containsKey(identifier)) {
|
||||
throw new RuntimeException("A factory has already been registered as " + identifier + "!");
|
||||
}
|
||||
|
@ -75,14 +75,14 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
|
|||
|
||||
MinecraftClient.getInstance().execute(() -> {
|
||||
try {
|
||||
ContainerFactory<ScreenWithHandler> factory = FACTORIES.get(identifier);
|
||||
ContainerFactory<HandledScreen> factory = FACTORIES.get(identifier);
|
||||
|
||||
if (factory == null) {
|
||||
LOGGER.error("No GUI factory found for {}!", identifier.toString());
|
||||
return;
|
||||
}
|
||||
|
||||
ScreenWithHandler gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
|
||||
HandledScreen gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
|
||||
packetContext.getPlayer().currentScreenHandler = gui.getScreenHandler();
|
||||
MinecraftClient.getInstance().openScreen(gui);
|
||||
} finally {
|
||||
|
|
|
@ -29,7 +29,7 @@ import net.minecraft.screen.ScreenHandler;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.container.ContainerFactory;
|
||||
import net.fabricmc.fabric.api.container.ContainerProviderRegistry;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-dimensions-v1"
|
||||
version = getSubprojectVersion(project, "0.3.0")
|
||||
version = getSubprojectVersion(project, "0.3.1")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -28,7 +28,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
import net.minecraft.world.dimension.DimensionType;
|
||||
import net.minecraft.world.level.LevelProperties;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-item-groups-v0"
|
||||
version = getSubprojectVersion(project, "0.1.9")
|
||||
version = getSubprojectVersion(project, "0.1.10")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -22,7 +22,7 @@ import java.util.function.Supplier;
|
|||
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.DefaultedList;
|
||||
import net.minecraft.util.collection.DefaultedList;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import net.fabricmc.fabric.impl.item.group.ItemGroupExtensions;
|
||||
|
|
|
@ -61,7 +61,7 @@ public class FabricCreativeGuiComponents {
|
|||
minecraftClient.getTextureManager().bindTexture(BUTTON_TEX);
|
||||
RenderSystem.disableLighting();
|
||||
RenderSystem.color4f(1F, 1F, 1F, 1F);
|
||||
this.blit(this.x, this.y, (type == Type.NEXT ? 12 : 0), (active ? 0 : 12), 12, 12);
|
||||
this.drawTexture(this.x, this.y, (type == Type.NEXT ? 12 : 0), (active ? 0 : 12), 12, 12);
|
||||
|
||||
if (mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height) {
|
||||
gui.renderTooltip(I18n.translate("fabric.gui.creativeTabPage", extensions.fabric_currentPage() + 1, ((ItemGroup.GROUPS.length - 12) / 9) + 2), mouseX, mouseY);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-networking-v0"
|
||||
version = getSubprojectVersion(project, "0.1.8")
|
||||
version = getSubprojectVersion(project, "0.1.9")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -21,7 +21,7 @@ import io.netty.util.concurrent.GenericFutureListener;
|
|||
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.impl.networking.ClientSidePacketRegistryImpl;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
package net.fabricmc.fabric.api.network;
|
||||
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
/**
|
||||
* Interface for receiving CustomPayload-based packets.
|
||||
|
|
|
@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.network;
|
|||
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
public interface PacketRegistry {
|
||||
/**
|
||||
|
|
|
@ -22,7 +22,7 @@ import io.netty.util.concurrent.GenericFutureListener;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.server.PlayerStream;
|
||||
import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
|
||||
|
|
|
@ -28,7 +28,7 @@ import net.minecraft.client.network.ClientPlayNetworkHandler;
|
|||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.event.network.S2CPacketTypeCallback;
|
||||
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
package net.fabricmc.fabric.impl.networking;
|
||||
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
/**
|
||||
* Helper interface containing getters for CustomPayloadC2SPacket
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.apache.logging.log4j.Logger;
|
|||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.InvalidIdentifierException;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.network.PacketConsumer;
|
||||
import net.fabricmc.fabric.api.network.PacketContext;
|
||||
|
|
|
@ -35,7 +35,7 @@ import net.minecraft.server.network.ServerPlayNetworkHandler;
|
|||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.network.packet.c2s.login.LoginQueryResponseC2SPacket;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.api.event.network.C2SPacketTypeCallback;
|
||||
import net.fabricmc.fabric.api.network.PacketContext;
|
||||
|
|
|
@ -32,7 +32,7 @@ import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
import net.minecraft.util.thread.ThreadExecutor;
|
||||
|
||||
import net.fabricmc.api.EnvType;
|
||||
|
|
|
@ -21,7 +21,7 @@ import org.spongepowered.asm.mixin.Shadow;
|
|||
|
||||
import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
|
||||
import net.fabricmc.fabric.impl.networking.CustomPayloadC2SPacketAccessor;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-object-builders"
|
||||
version = getSubprojectVersion(project, "0.1.4")
|
||||
version = getSubprojectVersion(project, "0.2.0")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
package net.fabricmc.fabric.api.block;
|
||||
|
||||
import net.minecraft.block.Block.Settings;
|
||||
import net.minecraft.block.AbstractBlock.Settings;
|
||||
import net.minecraft.block.MaterialColor;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
|
@ -50,7 +50,7 @@ public final class BlockSettingsExtensions {
|
|||
}
|
||||
|
||||
public static void materialColor(Settings settings, MaterialColor materialColor) {
|
||||
((BlockSettingsHooks) settings).setMaterialColor(materialColor);
|
||||
((BlockSettingsHooks) settings).setMaterialColor(blockState -> materialColor);
|
||||
}
|
||||
|
||||
public static void drops(Settings settings, Identifier dropTableId) {
|
||||
|
@ -62,7 +62,7 @@ public final class BlockSettingsExtensions {
|
|||
}
|
||||
|
||||
public static void lightLevel(Settings settings, int lightLevel) {
|
||||
((BlockSettingsHooks) settings).invokeLightLevel(lightLevel);
|
||||
((BlockSettingsHooks) settings).invokeLightLevel(value -> lightLevel);
|
||||
}
|
||||
|
||||
public static void breakInstantly(Settings settings) {
|
||||
|
|
|
@ -16,16 +16,21 @@
|
|||
|
||||
package net.fabricmc.fabric.mixin.object.builder;
|
||||
|
||||
import java.util.function.Function;
|
||||
import java.util.function.ToIntFunction;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import net.minecraft.block.AbstractBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.MaterialColor;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
@Mixin(Block.Settings.class)
|
||||
@Mixin(AbstractBlock.Settings.class)
|
||||
public interface BlockSettingsHooks {
|
||||
@Accessor
|
||||
void setHardness(float hardness);
|
||||
|
@ -37,7 +42,7 @@ public interface BlockSettingsHooks {
|
|||
void setCollidable(boolean collidable);
|
||||
|
||||
@Accessor
|
||||
void setMaterialColor(MaterialColor materialColor);
|
||||
void setMaterialColor(Function<BlockState, MaterialColor> materialColorFunction);
|
||||
|
||||
@Accessor
|
||||
void setDropTableId(Identifier dropTableId);
|
||||
|
@ -46,7 +51,7 @@ public interface BlockSettingsHooks {
|
|||
Block.Settings invokeSounds(BlockSoundGroup group);
|
||||
|
||||
@Invoker
|
||||
Block.Settings invokeLightLevel(int lightLevel);
|
||||
Block.Settings invokeLightLevel(ToIntFunction<BlockState> lightLevelFunction);
|
||||
|
||||
@Invoker
|
||||
Block.Settings invokeBreakInstantly();
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-registry-sync-v0"
|
||||
version = getSubprojectVersion(project, "0.2.7")
|
||||
version = getSubprojectVersion(project, "0.2.8")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -40,7 +40,7 @@ import org.apache.logging.log4j.Logger;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.PacketByteBuf;
|
||||
import net.minecraft.network.PacketByteBuf;
|
||||
import net.minecraft.util.registry.MutableRegistry;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ package net.fabricmc.fabric.impl.registry.sync.trackers;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap;
|
|||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
|
|
|
@ -42,6 +42,6 @@ public final class BlockInitTracker implements RegistryEntryAddedCallback<Block>
|
|||
// if false, getDropTableId() will generate an invalid drop table ID
|
||||
assert id.equals(registry.getId(object));
|
||||
|
||||
object.getDropTableId();
|
||||
object.method_26162();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.Unique;
|
||||
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
|
||||
import net.fabricmc.fabric.impl.registry.sync.RemovableIdList;
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Int2ObjectBiMap;
|
||||
import net.minecraft.util.collection.Int2ObjectBiMap;
|
||||
import net.minecraft.util.registry.SimpleRegistry;
|
||||
|
||||
import net.fabricmc.fabric.api.event.Event;
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||
|
||||
import net.minecraft.client.color.block.BlockColorProvider;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import net.fabricmc.fabric.impl.registry.sync.trackers.IdListTracker;
|
||||
|
|
|
@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||
|
||||
import net.minecraft.client.color.item.ItemColorProvider;
|
||||
import net.minecraft.client.color.item.ItemColors;
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import net.fabricmc.fabric.impl.registry.sync.trackers.IdListTracker;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-renderer-indigo"
|
||||
version = getSubprojectVersion(project, "0.2.25")
|
||||
version = getSubprojectVersion(project, "0.2.26")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -382,32 +382,32 @@ public class AoCalculator {
|
|||
lightPos.set(isOnBlockFace ? pos.offset(lightFace) : pos);
|
||||
AoFace aoFace = AoFace.get(lightFace);
|
||||
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[0]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[0]);
|
||||
final int light0 = brightnessFunc.applyAsInt(searchPos);
|
||||
final float ao0 = aoFunc.apply(searchPos);
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[1]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[1]);
|
||||
final int light1 = brightnessFunc.applyAsInt(searchPos);
|
||||
final float ao1 = aoFunc.apply(searchPos);
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[2]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[2]);
|
||||
final int light2 = brightnessFunc.applyAsInt(searchPos);
|
||||
final float ao2 = aoFunc.apply(searchPos);
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[3]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[3]);
|
||||
final int light3 = brightnessFunc.applyAsInt(searchPos);
|
||||
final float ao3 = aoFunc.apply(searchPos);
|
||||
|
||||
// vanilla was further offsetting these in the direction of the light face
|
||||
// but it was actually mis-sampling and causing visible artifacts in certain situation
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[0]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[0]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
|
||||
final boolean isClear0 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[1]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[1]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
|
||||
final boolean isClear1 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[2]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[2]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
|
||||
final boolean isClear2 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[3]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[3]); //.setOffset(lightFace);
|
||||
if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
|
||||
final boolean isClear3 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
|
||||
|
||||
// c = corner - values at corners of face
|
||||
|
@ -421,7 +421,7 @@ public class AoCalculator {
|
|||
cAo0 = ao0;
|
||||
cLight0 = light0;
|
||||
} else {
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[0]).setOffset(aoFace.neighbors[2]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[0]).move(aoFace.neighbors[2]);
|
||||
cAo0 = aoFunc.apply(searchPos);
|
||||
cLight0 = brightnessFunc.applyAsInt(searchPos);
|
||||
}
|
||||
|
@ -430,7 +430,7 @@ public class AoCalculator {
|
|||
cAo1 = ao0;
|
||||
cLight1 = light0;
|
||||
} else {
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[0]).setOffset(aoFace.neighbors[3]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[0]).move(aoFace.neighbors[3]);
|
||||
cAo1 = aoFunc.apply(searchPos);
|
||||
cLight1 = brightnessFunc.applyAsInt(searchPos);
|
||||
}
|
||||
|
@ -439,7 +439,7 @@ public class AoCalculator {
|
|||
cAo2 = ao1;
|
||||
cLight2 = light1;
|
||||
} else {
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[1]).setOffset(aoFace.neighbors[2]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[1]).move(aoFace.neighbors[2]);
|
||||
cAo2 = aoFunc.apply(searchPos);
|
||||
cLight2 = brightnessFunc.applyAsInt(searchPos);
|
||||
}
|
||||
|
@ -448,7 +448,7 @@ public class AoCalculator {
|
|||
cAo3 = ao1;
|
||||
cLight3 = light1;
|
||||
} else {
|
||||
searchPos.set(lightPos).setOffset(aoFace.neighbors[1]).setOffset(aoFace.neighbors[3]);
|
||||
searchPos.set(lightPos).move(aoFace.neighbors[1]).move(aoFace.neighbors[3]);
|
||||
cAo3 = aoFunc.apply(searchPos);
|
||||
cLight3 = brightnessFunc.applyAsInt(searchPos);
|
||||
}
|
||||
|
@ -456,9 +456,9 @@ public class AoCalculator {
|
|||
// If on block face or neighbor isn't occluding, "center" will be neighbor brightness
|
||||
// Doesn't use light pos because logic not based solely on this block's geometry
|
||||
int lightCenter;
|
||||
searchPos.set(pos).setOffset(lightFace);
|
||||
searchPos.set(pos).move(lightFace);
|
||||
|
||||
if (isOnBlockFace || !world.getBlockState(searchPos).isFullOpaque(world, searchPos)) {
|
||||
if (isOnBlockFace || !world.getBlockState(searchPos).method_26216(world, searchPos)) {
|
||||
lightCenter = brightnessFunc.applyAsInt(searchPos);
|
||||
} else {
|
||||
lightCenter = brightnessFunc.applyAsInt(pos);
|
||||
|
|
|
@ -169,7 +169,7 @@ public abstract class AbstractQuadRenderer {
|
|||
mpos.set(pos);
|
||||
|
||||
if ((quad.geometryFlags() & LIGHT_FACE_FLAG) != 0 || Block.isShapeFullCube(blockState.getCollisionShape(blockInfo.blockView, pos))) {
|
||||
mpos.setOffset(quad.lightFace());
|
||||
mpos.move(quad.lightFace());
|
||||
}
|
||||
|
||||
// Unfortunately cannot use brightness cache here unless we implement one specifically for flat lighting. See #329
|
||||
|
|
|
@ -104,7 +104,7 @@ public class MixinChunkRebuildTask {
|
|||
final BakedModel model = renderManager.getModel(blockState);
|
||||
|
||||
if (Indigo.ALWAYS_TESSELATE_INDIGO || !((FabricBakedModel) model).isVanillaAdapter()) {
|
||||
Vec3d vec3d = blockState.getOffsetPos(blockView, blockPos);
|
||||
Vec3d vec3d = blockState.method_26226(blockView, blockPos);
|
||||
matrix.translate(vec3d.x, vec3d.y, vec3d.z);
|
||||
return ((AccessChunkRendererRegion) blockView).fabric_getRenderer().tesselateBlock(blockState, blockPos, model, matrix);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
archivesBaseName = "fabric-rendering-v1"
|
||||
version = getSubprojectVersion(project, "0.1.0")
|
||||
version = getSubprojectVersion(project, "0.1.1")
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':fabric-api-base', configuration: 'dev')
|
||||
|
|
|
@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.color.block.BlockColorProvider;
|
||||
import net.minecraft.client.color.block.BlockColors;
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import net.fabricmc.fabric.impl.client.rendering.ColorProviderRegistryImpl;
|
||||
|
|
|
@ -27,7 +27,7 @@ import net.minecraft.client.color.block.BlockColors;
|
|||
import net.minecraft.client.color.item.ItemColorProvider;
|
||||
import net.minecraft.client.color.item.ItemColors;
|
||||
import net.minecraft.item.ItemConvertible;
|
||||
import net.minecraft.util.IdList;
|
||||
import net.minecraft.util.collection.IdList;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import net.fabricmc.fabric.impl.client.rendering.ColorProviderRegistryImpl;
|
||||
|
|
Loading…
Reference in a new issue