Create/src/main/java/com/simibubi/create/AllSpecialTextures.java

37 lines
913 B
Java
Raw Normal View History

package com.simibubi.create;
import net.minecraft.client.Minecraft;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
@EventBusSubscriber(value = Dist.CLIENT)
public enum AllSpecialTextures {
Bugs & Refactors - Added new selection/outline particles for use in place of bounding box rendering - Refactored JEI categories - Slots for chance outputs now have a slighly different appearance in JEI - Redstone links no longer cause a redstone update when loaded in - Redstone links no longer mess up windmill bearings on chunk reload - Fixed redstone links not working properly after movement in a contraption - Filter output amounts can no longer be increased beyond the stack limit - Chassis range visualization now uses the new outline particle - Kinetic networks are now aware of movement, such as NBT-item placement, schematic placement and other means of tileentity movement and will reset/reconnect - Fixed pistons/bearings/etc not being movable by chassis - Fixed pistons/bearings/etc moving a clone of themselves when attached to the initial block - Fixed pistons/bearings/etc stopping or losing their structure when loaded incorrecly - Pulleys can now be moved while extended, moving attached ropes and their own attached structure with them - Brittle blocks such as ladders/torches/etc can no longer be moved unless their attached block is moved - Fixed mechanical pistons messing up their kinetic information when changing into a different extension state. - Fixed misplaced client code introduced by a ScreenOpener hotfix - Fixed inconsistent belt initialization when belts are placed by schematics or structures, causing them to break at random - Clutches and Gearshifts now await their turn to re-attach when changed, allowing multiple to be used in a network and swapped within one tick without causing components to break. - Fixed flexcrate interface crashing if the block gets removed while open - Some additions/modifications in texture assets - Pistons no longer get blocked by their push limit if the blocks pushed are attached to each other
2020-04-16 20:46:15 +02:00
BLANK("blank.png"),
CHECKERED("checkerboard.png"),
THIN_CHECKERED("thin_checkerboard.png"),
Fundamentals of Fluid Transfer - Fixed some inconsistencies with a tanks' fluidhandler invalidation when resized - Patched crashes in present fluid handling of the basin - Tanks now slightly shade horizontal faces of the contained liquid - Tanks no longer resend data every tick when filled gradually - Introduced a new lerped value type with better design decisions - Refactored Smart tileentity serialization to better support custom overrides in contained behaviours - Pumps propagate flows in the pipe networks in front and behind itself. - Pumps collect all possible in and outputs across the reachable pipe graph as endpoints - Flows move across multiple branches of a pipe network when both are equally viable - Open-ended pipes are treated as endpoints and leak fluid into and out of a block space - Open endpoints serialize stateful information about fluid units gathered and held at the interface - Open endpoints turn a fluid block into 1000 fluid units and back - Open endpoints undo their transaction when their flow changes from pull to push - Open endpoints cannot pull fluids back when a full liquid block was not placed yet - Open endpoints waterlog blocks when the provided fluid is water - A collision response is triggered when different types of fluids meet at open endpoints - Fluids are transferred instantly by the throughput of a completed flow per tick - Pumps cut flows when vital pipes are removed - Pumps do not lose progress of finished flows when an unrelated part of the pipe network changes - Pumps do not lose progress of finished flows when reversed - Pumps distribute their throughput across available input flows evenly - Pumps distribute gathered input fluid across outputs evenly - Pumps expose furthest reachable pipefaces to other pumps for chained transfer - Chained pumps with fully overlapping flow sections provide their endpoints at the entrance of the other pump - Chained pumps with overlapping flow sections participate in two shared endpoints, one for each pump dominating the contested region - Chained pumps with overlapping flow only transfer via the optimal of the two possible endpoints based on their speeds - Chained pumps of equal speed pick one of the two available endpoints deterministically - Pumps transfer without flows when no pipe is between the pump and the endpoint - Pumps serialize and recover stateful information about held fluid units at open endpoints - Chained pumps do not actively transfer when both are partaking with push flows (or both pulling) - A pull flow originating from an inter-pump endpoint only commences when the corresponding push flow is completed - Chained pumps re-determine the optimal flow when the speed of one is changed at runtime - Throughput of chained pumps is determined by their weakest link in terms of speed - Endpoints created for chained pumps is treated equally to other available endpoints when fluid is distributed - Pipes do not contain a physical amount of fluid. - Pipes never hold serialized vital stateful information about fluid transfer. - Pipes synchronize local flow progress and fluid type to clients - Flows in a pipe progress with the speed of the network flow - A networks flow speed depends on the speed of the aggregated pump - Pipe flows of different flow graphs of different pumps interact with each other - A collision response is triggered when two different types of fluid meet within a pipe - Pipes spawn particles to illustrate contained flows/liquids of flows - The fluid transfer role is exposed through a TE behaviour with some callbacks and properties - Open endpoints show particles when interacting with in-world fluids
2020-08-24 21:02:03 +02:00
CUTOUT_CHECKERED("cutout_checkerboard.png"),
HIGHLIGHT_CHECKERED("highlighted_checkerboard.png"),
SELECTION("selection.png"),
;
public static final String ASSET_PATH = "textures/special/";
private ResourceLocation location;
private AllSpecialTextures(String filename) {
location = new ResourceLocation(Create.ID, ASSET_PATH + filename);
}
public void bind() {
Minecraft.getInstance()
.getTextureManager()
.bindTexture(location);
}
public ResourceLocation getLocation() {
return location;
}
}