first commit

This commit is contained in:
Chillcog committed 2026-07-03 09:16:56 -07:00
commit 1744fcefa0
390 files changed
+5835

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
*.png filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
+25
View File
@@ -0,0 +1,25 @@
run/
/models/
gradle/
build/
/elements/
.idea/
*.class
*.log
*.ctxt
.mtj.tmp/
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
hs_err_pid*
replay_pid*
.gradle/
.mcreator/
.vscode/
*.mcreator
mcreator.gradle
.eclipse/
+49
View File
@@ -0,0 +1,49 @@
plugins {
id 'eclipse'
id 'net.neoforged.moddev' version '2.0.141'
}
version = '1.0'
base.archivesName = "modid"
java.toolchain.languageVersion = JavaLanguageVersion.of(21)
neoForge {
version = "21.1.234"
runs {
client {
client()
programArgument "--username"
programArgument "chillcog"
def mcreatorJvmOptions = System.getenv('MCREATOR_JVM_OPTIONS')
if (mcreatorJvmOptions) {
mcreatorJvmOptions.split("\\s+").findAll { it.trim() }.each { arg ->
jvmArgument(arg)
}
}
}
server {
server()
}
configureEach {
systemProperty 'forge.logging.markers', 'REGISTRIES'
logLevel = org.slf4j.event.Level.DEBUG
}
}
mods {
mcreator {
sourceSet sourceSets.main
}
}
}
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
apply from: 'mcreator.gradle'
+5
View File
@@ -0,0 +1,5 @@
org.gradle.jvmargs=-Xmx1G
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configuration-cache=true
Vendored
+248
View File
@@ -0,0 +1,248 @@
#!/bin/sh
#
# Copyright © 2015 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
# This is normally unused
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC2039,SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@"
# Stop when "xargs" is not available.
if ! command -v xargs >/dev/null 2>&1
then
die "xargs is not available"
fi
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
Vendored
+93
View File
@@ -0,0 +1,93 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
:execute
@rem Setup the command line
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
+11
View File
@@ -0,0 +1,11 @@
pluginManagement {
repositories {
mavenLocal()
gradlePluginPortal()
maven { url = 'https://maven.neoforged.net/releases' }
}
}
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}
@@ -0,0 +1,92 @@
package com.chillcog.chillcogsbackrooms;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
import net.neoforged.neoforge.network.registration.PayloadRegistrar;
import net.neoforged.neoforge.network.handling.IPayloadHandler;
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent;
import net.neoforged.neoforge.event.tick.ServerTickEvent;
import net.neoforged.neoforge.common.NeoForge;
import net.neoforged.fml.util.thread.SidedThreadGroups;
import net.neoforged.fml.common.Mod;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.bus.api.IEventBus;
import net.minecraft.server.TickTask;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.FriendlyByteBuf;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.Queue;
import java.util.PriorityQueue;
import java.util.Map;
import java.util.HashMap;
import java.util.Comparator;
import it.unimi.dsi.fastutil.ints.IntObjectPair;
import it.unimi.dsi.fastutil.ints.IntObjectImmutablePair;
import com.chillcog.chillcogsbackrooms.init.ChillcogsBackroomsModTabs;
import com.chillcog.chillcogsbackrooms.init.ChillcogsBackroomsModItems;
import com.chillcog.chillcogsbackrooms.init.ChillcogsBackroomsModBlocks;
@Mod("chillcogs_backrooms")
public class ChillcogsBackroomsMod {
public static final Logger LOGGER = LogManager.getLogger(ChillcogsBackroomsMod.class);
public static final String MODID = "chillcogs_backrooms";
public ChillcogsBackroomsMod(IEventBus modEventBus) {
// Start of user code block mod constructor
// End of user code block mod constructor
NeoForge.EVENT_BUS.register(this);
modEventBus.addListener(this::registerNetworking);
ChillcogsBackroomsModBlocks.REGISTRY.register(modEventBus);
ChillcogsBackroomsModItems.REGISTRY.register(modEventBus);
ChillcogsBackroomsModTabs.REGISTRY.register(modEventBus);
// Start of user code block mod init
// End of user code block mod init
}
// Start of user code block mod methods
// End of user code block mod methods
private static boolean networkingRegistered = false;
private static final Map<CustomPacketPayload.Type<?>, NetworkMessage<?>> MESSAGES = new HashMap<>();
private record NetworkMessage<T extends CustomPacketPayload>(StreamCodec<? extends FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) {
}
public static <T extends CustomPacketPayload> void addNetworkMessage(CustomPacketPayload.Type<T> id, StreamCodec<? extends FriendlyByteBuf, T> reader, IPayloadHandler<T> handler) {
if (networkingRegistered)
throw new IllegalStateException("Cannot register new network messages after networking has been registered");
MESSAGES.put(id, new NetworkMessage<>(reader, handler));
}
@SuppressWarnings({"rawtypes", "unchecked"})
private void registerNetworking(final RegisterPayloadHandlersEvent event) {
final PayloadRegistrar registrar = event.registrar(MODID);
MESSAGES.forEach((id, networkMessage) -> registrar.playBidirectional(id, ((NetworkMessage) networkMessage).reader(), ((NetworkMessage) networkMessage).handler()));
networkingRegistered = true;
}
private static final Queue<IntObjectPair<Runnable>> workToBeScheduled = new ConcurrentLinkedQueue<>();
private static final PriorityQueue<TickTask> workQueue = new PriorityQueue<>(Comparator.comparingInt(TickTask::getTick));
public static void queueServerWork(int delay, Runnable action) {
if (Thread.currentThread().getThreadGroup() == SidedThreadGroups.SERVER)
workToBeScheduled.add(new IntObjectImmutablePair<>(delay, action));
}
@SubscribeEvent
public void tick(ServerTickEvent.Post event) {
int currentTick = event.getServer().getTickCount();
IntObjectPair<Runnable> work;
while ((work = workToBeScheduled.poll()) != null) {
workQueue.add(new TickTask(currentTick + work.leftInt(), work.right()));
}
while (!workQueue.isEmpty() && currentTick >= workQueue.peek().getTick()) {
workQueue.poll().run();
}
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class BallpitBlock extends Block {
public BallpitBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000).noCollission());
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.material.PushReaction;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.DoorBlock;
public class BlackDoorBlock extends DoorBlock {
public BlackDoorBlock() {
super(BlockSetType.IRON, BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(1f, 10f).pushReaction(PushReaction.DESTROY));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class CarpetBlock extends Block {
public CarpetBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class CarpetLevel4Block extends Block {
public CarpetLevel4Block() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class CeilingBlock extends Block {
public CeilingBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class ConcreteBlock extends Block {
public ConcreteBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class ConcretePillarBlock extends Block {
public ConcretePillarBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class CrateBlock extends Block {
public CrateBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(5f, 10f));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class DarkPoolTilesBlock extends Block {
public DarkPoolTilesBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.BONE_BLOCK).strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class DarkenedConcreteBlock extends Block {
public DarkenedConcreteBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import org.checkerframework.checker.units.qual.s;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class FakeCloudsBlock extends Block {
public FakeCloudsBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.AMETHYST).strength(-1, 3600000).lightLevel(s -> 15));
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import org.checkerframework.checker.units.qual.s;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class FalseStarsBlock extends Block {
public FalseStarsBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.AMETHYST).strength(-1, 3600000).lightLevel(s -> 8));
}
}
@@ -0,0 +1,40 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class FunFlooringBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public FunFlooringBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class FunGreenWoolBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public FunGreenWoolBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class HotelCarpetBlock extends Block {
public HotelCarpetBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class HotelCarpetCorner2Block extends Block {
public HotelCarpetCorner2Block() {
super(BlockBehaviour.Properties.of().sound(SoundType.GRAVEL).strength(1f, 10f));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class HotelCarpetCornerBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public HotelCarpetCornerBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class HotelCarpetEdge2Block extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public HotelCarpetEdge2Block() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class HotelCarpetEdgeBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public HotelCarpetEdgeBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(1f, 10f));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class HotelCarpetInnerCornerBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public HotelCarpetInnerCornerBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class HotelCarpetMiddleBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public HotelCarpetMiddleBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class Level4CeilingBlock extends Block {
public Level4CeilingBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class Level4WallBlock extends Block {
public Level4WallBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import org.checkerframework.checker.units.qual.s;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class LightBlock extends Block {
public LightBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.GLASS).strength(-1, 3600000).lightLevel(s -> 15).hasPostProcess((bs, br, bp) -> true).emissiveRendering((bs, br, bp) -> true));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class LightOffBlock extends Block {
public LightOffBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.GLASS).strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class LightScarletWallBlock extends Block {
public LightScarletWallBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ManilaCarpetBlock extends Block {
public ManilaCarpetBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ManilaCeilingBlock extends Block {
public ManilaCeilingBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ManilaWallpaperBlock extends Block {
public ManilaWallpaperBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ParadisalGrassBlock extends Block {
public ParadisalGrassBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.GRAVEL).strength(-1, 3600000));
}
}
@@ -0,0 +1,38 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class ParadisalLogBlock extends Block {
public static final EnumProperty<Direction.Axis> AXIS = BlockStateProperties.AXIS;
public ParadisalLogBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(AXIS, Direction.Axis.Y));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(AXIS);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(AXIS, context.getClickedFace().getAxis());
}
@Override
public BlockState rotate(BlockState state, Rotation rot) {
return RotatedPillarBlock.rotatePillar(state, rot);
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class PoolTilesBlock extends Block {
public PoolTilesBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.BONE_BLOCK).strength(-1, 3600000));
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.material.PushReaction;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.DoorBlock;
public class RedDoorBlock extends DoorBlock {
public RedDoorBlock() {
super(BlockSetType.OAK, BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(1f, 10f).noOcclusion().pushReaction(PushReaction.DESTROY).isRedstoneConductor((bs, br, bp) -> false));
}
}
@@ -0,0 +1,32 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.core.BlockPos;
public class RedFunCarpetBlock extends Block {
public RedFunCarpetBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000).noOcclusion().isRedstoneConductor((bs, br, bp) -> false));
}
@Override
public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) {
return true;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 0;
}
@Override
public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return Shapes.empty();
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class ScarletCarpetBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public ScarletCarpetBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOL).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class ScarletCeilingBlock extends Block {
public ScarletCeilingBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,13 @@
package com.chillcog.chillcogsbackrooms.block;
import org.checkerframework.checker.units.qual.s;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ScarletLightBlock extends Block {
public ScarletLightBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.GLASS).strength(-1, 3600000).lightLevel(s -> 15).hasPostProcess((bs, br, bp) -> true).emissiveRendering((bs, br, bp) -> true));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class ScarletLightOffBlock extends Block {
public ScarletLightOffBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.GLASS).strength(-1, 3600000));
}
}
@@ -0,0 +1,10 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.Block;
public class ScarletWallBlock extends Block {
public ScarletWallBlock() {
super(BlockBehaviour.Properties.of().strength(-1, 3600000));
}
}
@@ -0,0 +1,41 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.core.Direction;
public class ShadowCeilingBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public ShadowCeilingBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return super.getStateForPlacement(context).setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class WallpaperBlock extends Block {
public WallpaperBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class WallpaperTrimBlock extends Block {
public WallpaperTrimBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.WOOD).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.IronBarsBlock;
public class WeatheredBarsBlock extends IronBarsBlock {
public WeatheredBarsBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class WeatheredBricksBlock extends Block {
public WeatheredBricksBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE_BRICKS).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class WeatheredCeilingBlock extends Block {
public WeatheredCeilingBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE_BRICKS).strength(-1, 3600000));
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
public class WeatheredFlooringBlock extends Block {
public WeatheredFlooringBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE_BRICKS).strength(-1, 3600000));
}
}
@@ -0,0 +1,102 @@
/*
* MCreator note: This file will be REGENERATED on each build.
*/
package com.chillcog.chillcogsbackrooms.init;
import net.neoforged.neoforge.event.server.ServerAboutToStartEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.bus.api.SubscribeEvent;
import net.minecraft.world.level.levelgen.placement.CaveSurface;
import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator;
import net.minecraft.world.level.dimension.LevelStem;
import net.minecraft.world.level.dimension.DimensionType;
import net.minecraft.world.level.dimension.BuiltinDimensionTypes;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.biome.MultiNoiseBiomeSource;
import net.minecraft.world.level.biome.FeatureSorter;
import net.minecraft.world.level.biome.Climate;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.server.MinecraftServer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.resources.ResourceKey;
import net.minecraft.core.registries.Registries;
import net.minecraft.core.Registry;
import net.minecraft.core.Holder;
import java.util.List;
import java.util.ArrayList;
import com.mojang.datafixers.util.Pair;
import com.google.common.base.Suppliers;
@EventBusSubscriber
public class ChillcogsBackroomsModBiomes {
@SubscribeEvent
public static void onServerAboutToStart(ServerAboutToStartEvent event) {
MinecraftServer server = event.getServer();
Registry<LevelStem> levelStemTypeRegistry = server.registryAccess().registryOrThrow(Registries.LEVEL_STEM);
Registry<Biome> biomeRegistry = server.registryAccess().registryOrThrow(Registries.BIOME);
for (LevelStem levelStem : levelStemTypeRegistry.stream().toList()) {
Holder<DimensionType> dimensionType = levelStem.type();
if (dimensionType.is(BuiltinDimensionTypes.OVERWORLD)) {
ChunkGenerator chunkGenerator = levelStem.generator();
// Inject biomes to biome source
if (chunkGenerator.getBiomeSource() instanceof MultiNoiseBiomeSource noiseSource) {
List<Pair<Climate.ParameterPoint, Holder<Biome>>> parameters = new ArrayList<>(noiseSource.parameters().values());
addParameterPoint(parameters, new Pair<>(new Climate.ParameterPoint(Climate.Parameter.span(-0.5f, 0.5f), Climate.Parameter.span(-0.5f, 0.5f), Climate.Parameter.span(0.3f, 1f), Climate.Parameter.span(-0.5f, 0.5f),
Climate.Parameter.point(0.0f), Climate.Parameter.span(-1f, 1f), 0), biomeRegistry.getHolderOrThrow(ResourceKey.create(Registries.BIOME, ResourceLocation.fromNamespaceAndPath("chillcogs_backrooms", "backrooms")))));
addParameterPoint(parameters, new Pair<>(new Climate.ParameterPoint(Climate.Parameter.span(-0.5f, 0.5f), Climate.Parameter.span(-0.5f, 0.5f), Climate.Parameter.span(0.3f, 1f), Climate.Parameter.span(-0.5f, 0.5f),
Climate.Parameter.point(1.0f), Climate.Parameter.span(-1f, 1f), 0), biomeRegistry.getHolderOrThrow(ResourceKey.create(Registries.BIOME, ResourceLocation.fromNamespaceAndPath("chillcogs_backrooms", "backrooms")))));
chunkGenerator.biomeSource = MultiNoiseBiomeSource.createFromList(new Climate.ParameterList<>(parameters));
chunkGenerator.featuresPerStep = Suppliers
.memoize(() -> FeatureSorter.buildFeaturesPerStep(List.copyOf(chunkGenerator.biomeSource.possibleBiomes()), biome -> chunkGenerator.generationSettingsGetter.apply(biome).features(), true));
}
if (chunkGenerator instanceof NoiseBasedChunkGenerator noiseGenerator) {
((ChillcogsBackroomsModNoiseGeneratorSettings) (Object) noiseGenerator.settings.value()).setchillcogs_backroomsDimensionTypeReference(dimensionType);
}
}
}
}
public static SurfaceRules.RuleSource adaptSurfaceRule(SurfaceRules.RuleSource currentRuleSource, Holder<DimensionType> dimensionType) {
if (dimensionType.is(BuiltinDimensionTypes.OVERWORLD))
return injectOverworldSurfaceRules(currentRuleSource);
return currentRuleSource;
}
private static SurfaceRules.RuleSource injectOverworldSurfaceRules(SurfaceRules.RuleSource currentRuleSource) {
List<SurfaceRules.RuleSource> customSurfaceRules = new ArrayList<>();
customSurfaceRules.add(preliminarySurfaceRule(ResourceKey.create(Registries.BIOME, ResourceLocation.fromNamespaceAndPath("chillcogs_backrooms", "backrooms")), Blocks.GRASS_BLOCK.defaultBlockState(), Blocks.DIRT.defaultBlockState(),
Blocks.GRAVEL.defaultBlockState()));
if (currentRuleSource instanceof SurfaceRules.SequenceRuleSource sequenceRuleSource) {
customSurfaceRules.addAll(sequenceRuleSource.sequence());
return SurfaceRules.sequence(customSurfaceRules.toArray(SurfaceRules.RuleSource[]::new));
} else {
customSurfaceRules.add(currentRuleSource);
return SurfaceRules.sequence(customSurfaceRules.toArray(SurfaceRules.RuleSource[]::new));
}
}
private static SurfaceRules.RuleSource preliminarySurfaceRule(ResourceKey<Biome> biomeKey, BlockState groundBlock, BlockState undergroundBlock, BlockState underwaterBlock) {
return SurfaceRules.ifTrue(SurfaceRules.isBiome(biomeKey),
SurfaceRules.ifTrue(SurfaceRules.abovePreliminarySurface(),
SurfaceRules.sequence(
SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(0, false, 0, CaveSurface.FLOOR),
SurfaceRules.sequence(SurfaceRules.ifTrue(SurfaceRules.waterBlockCheck(-1, 0), SurfaceRules.state(groundBlock)), SurfaceRules.state(underwaterBlock))),
SurfaceRules.ifTrue(SurfaceRules.stoneDepthCheck(0, true, 0, CaveSurface.FLOOR), SurfaceRules.state(undergroundBlock)))));
}
private static void addParameterPoint(List<Pair<Climate.ParameterPoint, Holder<Biome>>> parameters, Pair<Climate.ParameterPoint, Holder<Biome>> point) {
if (!parameters.contains(point))
parameters.add(point);
}
public interface ChillcogsBackroomsModNoiseGeneratorSettings {
void setchillcogs_backroomsDimensionTypeReference(Holder<DimensionType> dimensionType);
}
}
@@ -0,0 +1,112 @@
/*
* MCreator note: This file will be REGENERATED on each build.
*/
package com.chillcog.chillcogsbackrooms.init;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.DeferredBlock;
import net.minecraft.world.level.block.Block;
import com.chillcog.chillcogsbackrooms.block.*;
import com.chillcog.chillcogsbackrooms.ChillcogsBackroomsMod;
public class ChillcogsBackroomsModBlocks {
public static final DeferredRegister.Blocks REGISTRY = DeferredRegister.createBlocks(ChillcogsBackroomsMod.MODID);
public static final DeferredBlock<Block> WALLPAPER;
public static final DeferredBlock<Block> CARPET;
public static final DeferredBlock<Block> BALLPIT;
public static final DeferredBlock<Block> RED_FUN_CARPET;
public static final DeferredBlock<Block> BLACK_DOOR;
public static final DeferredBlock<Block> RED_DOOR;
public static final DeferredBlock<Block> WALLPAPER_TRIM;
public static final DeferredBlock<Block> LIGHT;
public static final DeferredBlock<Block> LIGHT_OFF;
public static final DeferredBlock<Block> CRATE;
public static final DeferredBlock<Block> HOTEL_CARPET_EDGE;
public static final DeferredBlock<Block> HOTEL_CARPET_CORNER;
public static final DeferredBlock<Block> HOTEL_CARPET_MIDDLE;
public static final DeferredBlock<Block> HOTEL_CARPET_INNER_CORNER;
public static final DeferredBlock<Block> HOTEL_CARPET_EDGE_2;
public static final DeferredBlock<Block> HOTEL_CARPET_CORNER_2;
public static final DeferredBlock<Block> CEILING;
public static final DeferredBlock<Block> SHADOW_CEILING;
public static final DeferredBlock<Block> FALSE_CLOUDS;
public static final DeferredBlock<Block> SCARLET_CARPET;
public static final DeferredBlock<Block> FUN_FLOORING;
public static final DeferredBlock<Block> FUN_GREEN_WOOL;
public static final DeferredBlock<Block> POOL_TILES;
public static final DeferredBlock<Block> DARK_POOL_TILES;
public static final DeferredBlock<Block> FALSE_STARS;
public static final DeferredBlock<Block> CARPET_LEVEL_4;
public static final DeferredBlock<Block> HOTEL_CARPET;
public static final DeferredBlock<Block> LEVEL_4_CEILING;
public static final DeferredBlock<Block> LEVEL_4_WALL;
public static final DeferredBlock<Block> WEATHERED_BARS;
public static final DeferredBlock<Block> WEATHERED_BRICKS;
public static final DeferredBlock<Block> WEATHERED_FLOORING;
public static final DeferredBlock<Block> WEATHERED_CEILING;
public static final DeferredBlock<Block> CONCRETE;
public static final DeferredBlock<Block> DARKENED_CONCRETE;
public static final DeferredBlock<Block> CONCRETE_PILLAR;
public static final DeferredBlock<Block> SCARLET_WALL;
public static final DeferredBlock<Block> LIGHT_SCARLET_WALL;
public static final DeferredBlock<Block> SCARLET_CEILING;
public static final DeferredBlock<Block> SCARLET_LIGHT;
public static final DeferredBlock<Block> SCARLET_LIGHT_OFF;
public static final DeferredBlock<Block> MANILA_WALLPAPER;
public static final DeferredBlock<Block> MANILA_CARPET;
public static final DeferredBlock<Block> MANILA_CEILING;
public static final DeferredBlock<Block> PARADISAL_GRASS;
public static final DeferredBlock<Block> PARADISAL_LOG;
static {
WALLPAPER = REGISTRY.register("wallpaper", WallpaperBlock::new);
CARPET = REGISTRY.register("carpet", CarpetBlock::new);
BALLPIT = REGISTRY.register("ballpit", BallpitBlock::new);
RED_FUN_CARPET = REGISTRY.register("red_fun_carpet", RedFunCarpetBlock::new);
BLACK_DOOR = REGISTRY.register("black_door", BlackDoorBlock::new);
RED_DOOR = REGISTRY.register("red_door", RedDoorBlock::new);
WALLPAPER_TRIM = REGISTRY.register("wallpaper_trim", WallpaperTrimBlock::new);
LIGHT = REGISTRY.register("light", LightBlock::new);
LIGHT_OFF = REGISTRY.register("light_off", LightOffBlock::new);
CRATE = REGISTRY.register("crate", CrateBlock::new);
HOTEL_CARPET_EDGE = REGISTRY.register("hotel_carpet_edge", HotelCarpetEdgeBlock::new);
HOTEL_CARPET_CORNER = REGISTRY.register("hotel_carpet_corner", HotelCarpetCornerBlock::new);
HOTEL_CARPET_MIDDLE = REGISTRY.register("hotel_carpet_middle", HotelCarpetMiddleBlock::new);
HOTEL_CARPET_INNER_CORNER = REGISTRY.register("hotel_carpet_inner_corner", HotelCarpetInnerCornerBlock::new);
HOTEL_CARPET_EDGE_2 = REGISTRY.register("hotel_carpet_edge_2", HotelCarpetEdge2Block::new);
HOTEL_CARPET_CORNER_2 = REGISTRY.register("hotel_carpet_corner_2", HotelCarpetCorner2Block::new);
CEILING = REGISTRY.register("ceiling", CeilingBlock::new);
SHADOW_CEILING = REGISTRY.register("shadow_ceiling", ShadowCeilingBlock::new);
FALSE_CLOUDS = REGISTRY.register("false_clouds", FakeCloudsBlock::new);
SCARLET_CARPET = REGISTRY.register("scarlet_carpet", ScarletCarpetBlock::new);
FUN_FLOORING = REGISTRY.register("fun_flooring", FunFlooringBlock::new);
FUN_GREEN_WOOL = REGISTRY.register("fun_green_wool", FunGreenWoolBlock::new);
POOL_TILES = REGISTRY.register("pool_tiles", PoolTilesBlock::new);
DARK_POOL_TILES = REGISTRY.register("dark_pool_tiles", DarkPoolTilesBlock::new);
FALSE_STARS = REGISTRY.register("false_stars", FalseStarsBlock::new);
CARPET_LEVEL_4 = REGISTRY.register("carpet_level_4", CarpetLevel4Block::new);
HOTEL_CARPET = REGISTRY.register("hotel_carpet", HotelCarpetBlock::new);
LEVEL_4_CEILING = REGISTRY.register("level_4_ceiling", Level4CeilingBlock::new);
LEVEL_4_WALL = REGISTRY.register("level_4_wall", Level4WallBlock::new);
WEATHERED_BARS = REGISTRY.register("weathered_bars", WeatheredBarsBlock::new);
WEATHERED_BRICKS = REGISTRY.register("weathered_bricks", WeatheredBricksBlock::new);
WEATHERED_FLOORING = REGISTRY.register("weathered_flooring", WeatheredFlooringBlock::new);
WEATHERED_CEILING = REGISTRY.register("weathered_ceiling", WeatheredCeilingBlock::new);
CONCRETE = REGISTRY.register("concrete", ConcreteBlock::new);
DARKENED_CONCRETE = REGISTRY.register("darkened_concrete", DarkenedConcreteBlock::new);
CONCRETE_PILLAR = REGISTRY.register("concrete_pillar", ConcretePillarBlock::new);
SCARLET_WALL = REGISTRY.register("scarlet_wall", ScarletWallBlock::new);
LIGHT_SCARLET_WALL = REGISTRY.register("light_scarlet_wall", LightScarletWallBlock::new);
SCARLET_CEILING = REGISTRY.register("scarlet_ceiling", ScarletCeilingBlock::new);
SCARLET_LIGHT = REGISTRY.register("scarlet_light", ScarletLightBlock::new);
SCARLET_LIGHT_OFF = REGISTRY.register("scarlet_light_off", ScarletLightOffBlock::new);
MANILA_WALLPAPER = REGISTRY.register("manila_wallpaper", ManilaWallpaperBlock::new);
MANILA_CARPET = REGISTRY.register("manila_carpet", ManilaCarpetBlock::new);
MANILA_CEILING = REGISTRY.register("manila_ceiling", ManilaCeilingBlock::new);
PARADISAL_GRASS = REGISTRY.register("paradisal_grass", ParadisalGrassBlock::new);
PARADISAL_LOG = REGISTRY.register("paradisal_log", ParadisalLogBlock::new);
}
// Start of user code block custom blocks
// End of user code block custom blocks
}
@@ -0,0 +1,144 @@
/*
* MCreator note: This file will be REGENERATED on each build.
*/
package com.chillcog.chillcogsbackrooms.init;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.DeferredItem;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.DoubleHighBlockItem;
import net.minecraft.world.item.BlockItem;
import com.chillcog.chillcogsbackrooms.item.PlankItem;
import com.chillcog.chillcogsbackrooms.item.LiquidPainItem;
import com.chillcog.chillcogsbackrooms.item.KillStickItem;
import com.chillcog.chillcogsbackrooms.item.AlmondWaterItem;
import com.chillcog.chillcogsbackrooms.ChillcogsBackroomsMod;
public class ChillcogsBackroomsModItems {
public static final DeferredRegister.Items REGISTRY = DeferredRegister.createItems(ChillcogsBackroomsMod.MODID);
public static final DeferredItem<Item> WALLPAPER;
public static final DeferredItem<Item> CARPET;
public static final DeferredItem<Item> BALLPIT;
public static final DeferredItem<Item> RED_FUN_CARPET;
public static final DeferredItem<Item> BLACK_DOOR;
public static final DeferredItem<Item> RED_DOOR;
public static final DeferredItem<Item> WALLPAPER_TRIM;
public static final DeferredItem<Item> LIGHT;
public static final DeferredItem<Item> LIGHT_OFF;
public static final DeferredItem<Item> CRATE;
public static final DeferredItem<Item> HOTEL_CARPET_EDGE;
public static final DeferredItem<Item> HOTEL_CARPET_CORNER;
public static final DeferredItem<Item> HOTEL_CARPET_MIDDLE;
public static final DeferredItem<Item> HOTEL_CARPET_INNER_CORNER;
public static final DeferredItem<Item> HOTEL_CARPET_EDGE_2;
public static final DeferredItem<Item> HOTEL_CARPET_CORNER_2;
public static final DeferredItem<Item> CEILING;
public static final DeferredItem<Item> SHADOW_CEILING;
public static final DeferredItem<Item> ALMOND_WATER;
public static final DeferredItem<Item> LIQUID_PAIN;
public static final DeferredItem<Item> FALSE_CLOUDS;
public static final DeferredItem<Item> SCARLET_CARPET;
public static final DeferredItem<Item> FUN_FLOORING;
public static final DeferredItem<Item> FUN_GREEN_WOOL;
public static final DeferredItem<Item> POOL_TILES;
public static final DeferredItem<Item> DARK_POOL_TILES;
public static final DeferredItem<Item> FALSE_STARS;
public static final DeferredItem<Item> CARPET_LEVEL_4;
public static final DeferredItem<Item> HOTEL_CARPET;
public static final DeferredItem<Item> LEVEL_4_CEILING;
public static final DeferredItem<Item> LEVEL_4_WALL;
public static final DeferredItem<Item> WEATHERED_BARS;
public static final DeferredItem<Item> WEATHERED_BRICKS;
public static final DeferredItem<Item> WEATHERED_FLOORING;
public static final DeferredItem<Item> WEATHERED_CEILING;
public static final DeferredItem<Item> CONCRETE;
public static final DeferredItem<Item> DARKENED_CONCRETE;
public static final DeferredItem<Item> CONCRETE_PILLAR;
public static final DeferredItem<Item> SCARLET_WALL;
public static final DeferredItem<Item> LIGHT_SCARLET_WALL;
public static final DeferredItem<Item> SCARLET_CEILING;
public static final DeferredItem<Item> SCARLET_LIGHT;
public static final DeferredItem<Item> SCARLET_LIGHT_OFF;
public static final DeferredItem<Item> MANILA_WALLPAPER;
public static final DeferredItem<Item> MANILA_CARPET;
public static final DeferredItem<Item> MANILA_CEILING;
public static final DeferredItem<Item> PARADISAL_GRASS;
public static final DeferredItem<Item> PARADISAL_LOG;
public static final DeferredItem<Item> PLANK;
public static final DeferredItem<Item> KILL_STICK;
static {
WALLPAPER = block(ChillcogsBackroomsModBlocks.WALLPAPER);
CARPET = block(ChillcogsBackroomsModBlocks.CARPET);
BALLPIT = block(ChillcogsBackroomsModBlocks.BALLPIT);
RED_FUN_CARPET = block(ChillcogsBackroomsModBlocks.RED_FUN_CARPET);
BLACK_DOOR = doubleBlock(ChillcogsBackroomsModBlocks.BLACK_DOOR, new Item.Properties().rarity(Rarity.UNCOMMON));
RED_DOOR = doubleBlock(ChillcogsBackroomsModBlocks.RED_DOOR);
WALLPAPER_TRIM = block(ChillcogsBackroomsModBlocks.WALLPAPER_TRIM);
LIGHT = block(ChillcogsBackroomsModBlocks.LIGHT);
LIGHT_OFF = block(ChillcogsBackroomsModBlocks.LIGHT_OFF);
CRATE = block(ChillcogsBackroomsModBlocks.CRATE);
HOTEL_CARPET_EDGE = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_EDGE);
HOTEL_CARPET_CORNER = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_CORNER);
HOTEL_CARPET_MIDDLE = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_MIDDLE);
HOTEL_CARPET_INNER_CORNER = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_INNER_CORNER);
HOTEL_CARPET_EDGE_2 = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_EDGE_2);
HOTEL_CARPET_CORNER_2 = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET_CORNER_2);
CEILING = block(ChillcogsBackroomsModBlocks.CEILING);
SHADOW_CEILING = block(ChillcogsBackroomsModBlocks.SHADOW_CEILING);
ALMOND_WATER = REGISTRY.register("almond_water", AlmondWaterItem::new);
LIQUID_PAIN = REGISTRY.register("liquid_pain", LiquidPainItem::new);
FALSE_CLOUDS = block(ChillcogsBackroomsModBlocks.FALSE_CLOUDS);
SCARLET_CARPET = block(ChillcogsBackroomsModBlocks.SCARLET_CARPET);
FUN_FLOORING = block(ChillcogsBackroomsModBlocks.FUN_FLOORING);
FUN_GREEN_WOOL = block(ChillcogsBackroomsModBlocks.FUN_GREEN_WOOL);
POOL_TILES = block(ChillcogsBackroomsModBlocks.POOL_TILES);
DARK_POOL_TILES = block(ChillcogsBackroomsModBlocks.DARK_POOL_TILES);
FALSE_STARS = block(ChillcogsBackroomsModBlocks.FALSE_STARS);
CARPET_LEVEL_4 = block(ChillcogsBackroomsModBlocks.CARPET_LEVEL_4);
HOTEL_CARPET = block(ChillcogsBackroomsModBlocks.HOTEL_CARPET);
LEVEL_4_CEILING = block(ChillcogsBackroomsModBlocks.LEVEL_4_CEILING);
LEVEL_4_WALL = block(ChillcogsBackroomsModBlocks.LEVEL_4_WALL);
WEATHERED_BARS = block(ChillcogsBackroomsModBlocks.WEATHERED_BARS);
WEATHERED_BRICKS = block(ChillcogsBackroomsModBlocks.WEATHERED_BRICKS);
WEATHERED_FLOORING = block(ChillcogsBackroomsModBlocks.WEATHERED_FLOORING);
WEATHERED_CEILING = block(ChillcogsBackroomsModBlocks.WEATHERED_CEILING);
CONCRETE = block(ChillcogsBackroomsModBlocks.CONCRETE);
DARKENED_CONCRETE = block(ChillcogsBackroomsModBlocks.DARKENED_CONCRETE);
CONCRETE_PILLAR = block(ChillcogsBackroomsModBlocks.CONCRETE_PILLAR);
SCARLET_WALL = block(ChillcogsBackroomsModBlocks.SCARLET_WALL);
LIGHT_SCARLET_WALL = block(ChillcogsBackroomsModBlocks.LIGHT_SCARLET_WALL);
SCARLET_CEILING = block(ChillcogsBackroomsModBlocks.SCARLET_CEILING);
SCARLET_LIGHT = block(ChillcogsBackroomsModBlocks.SCARLET_LIGHT);
SCARLET_LIGHT_OFF = block(ChillcogsBackroomsModBlocks.SCARLET_LIGHT_OFF);
MANILA_WALLPAPER = block(ChillcogsBackroomsModBlocks.MANILA_WALLPAPER);
MANILA_CARPET = block(ChillcogsBackroomsModBlocks.MANILA_CARPET);
MANILA_CEILING = block(ChillcogsBackroomsModBlocks.MANILA_CEILING);
PARADISAL_GRASS = block(ChillcogsBackroomsModBlocks.PARADISAL_GRASS);
PARADISAL_LOG = block(ChillcogsBackroomsModBlocks.PARADISAL_LOG);
PLANK = REGISTRY.register("plank", PlankItem::new);
KILL_STICK = REGISTRY.register("kill_stick", KillStickItem::new);
}
// Start of user code block custom items
// End of user code block custom items
private static DeferredItem<Item> block(DeferredHolder<Block, Block> block) {
return block(block, new Item.Properties());
}
private static DeferredItem<Item> block(DeferredHolder<Block, Block> block, Item.Properties properties) {
return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), properties));
}
private static DeferredItem<Item> doubleBlock(DeferredHolder<Block, Block> block) {
return doubleBlock(block, new Item.Properties());
}
private static DeferredItem<Item> doubleBlock(DeferredHolder<Block, Block> block, Item.Properties properties) {
return REGISTRY.register(block.getId().getPath(), () -> new DoubleHighBlockItem(block.get(), properties));
}
}
@@ -0,0 +1,82 @@
/*
* MCreator note: This file will be REGENERATED on each build.
*/
package com.chillcog.chillcogsbackrooms.init;
import net.neoforged.neoforge.registries.DeferredRegister;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.bus.api.SubscribeEvent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.network.chat.Component;
import net.minecraft.core.registries.Registries;
import com.chillcog.chillcogsbackrooms.ChillcogsBackroomsMod;
@EventBusSubscriber
public class ChillcogsBackroomsModTabs {
public static final DeferredRegister<CreativeModeTab> REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, ChillcogsBackroomsMod.MODID);
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> CHILLCOGS_BACKROOMS = REGISTRY.register("chillcogs_backrooms",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.chillcogs_backrooms.chillcogs_backrooms")).icon(() -> new ItemStack(ChillcogsBackroomsModBlocks.WALLPAPER.get())).displayItems((parameters, tabData) -> {
tabData.accept(ChillcogsBackroomsModBlocks.WALLPAPER.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CARPET.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.WALLPAPER_TRIM.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SHADOW_CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.LIGHT.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.LIGHT_OFF.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.FALSE_STARS.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.FALSE_CLOUDS.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.BLACK_DOOR.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CRATE.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET_EDGE.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET_CORNER.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET_MIDDLE.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET_INNER_CORNER.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET_EDGE_2.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.RED_FUN_CARPET.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.BALLPIT.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.FUN_FLOORING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.FUN_GREEN_WOOL.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.POOL_TILES.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.DARK_POOL_TILES.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CARPET_LEVEL_4.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.LEVEL_4_CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.LEVEL_4_WALL.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.WEATHERED_BARS.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.WEATHERED_BRICKS.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.WEATHERED_FLOORING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.WEATHERED_CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CONCRETE.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.DARKENED_CONCRETE.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.CONCRETE_PILLAR.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SCARLET_WALL.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.LIGHT_SCARLET_WALL.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SCARLET_CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SCARLET_LIGHT.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.HOTEL_CARPET.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.RED_DOOR.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SCARLET_CARPET.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.SCARLET_LIGHT_OFF.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.MANILA_WALLPAPER.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.MANILA_CARPET.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.MANILA_CEILING.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.PARADISAL_GRASS.get().asItem());
tabData.accept(ChillcogsBackroomsModBlocks.PARADISAL_LOG.get().asItem());
tabData.accept(ChillcogsBackroomsModItems.ALMOND_WATER.get());
tabData.accept(ChillcogsBackroomsModItems.LIQUID_PAIN.get());
tabData.accept(ChillcogsBackroomsModItems.PLANK.get());
tabData.accept(ChillcogsBackroomsModItems.KILL_STICK.get());
}).build());
@SubscribeEvent
public static void buildTabContentsVanilla(BuildCreativeModeTabContentsEvent tabData) {
if (tabData.getTabKey() == CreativeModeTabs.TOOLS_AND_UTILITIES) {
tabData.accept(ChillcogsBackroomsModItems.KILL_STICK.get());
}
}
}
@@ -0,0 +1,11 @@
package com.chillcog.chillcogsbackrooms.item;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.Item;
import net.minecraft.world.food.FoodProperties;
public class AlmondWaterItem extends Item {
public AlmondWaterItem() {
super(new Item.Properties().rarity(Rarity.UNCOMMON).food((new FoodProperties.Builder()).nutrition(5).saturationModifier(3f).alwaysEdible().build()));
}
}
@@ -0,0 +1,47 @@
package com.chillcog.chillcogsbackrooms.item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.Tier;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.Item;
import net.minecraft.tags.TagKey;
import net.minecraft.tags.BlockTags;
public class KillStickItem extends SwordItem {
private static final Tier TOOL_TIER = new Tier() {
@Override
public int getUses() {
return 100;
}
@Override
public float getSpeed() {
return 69f;
}
@Override
public float getAttackDamageBonus() {
return 0;
}
@Override
public TagKey<Block> getIncorrectBlocksForDrops() {
return BlockTags.INCORRECT_FOR_NETHERITE_TOOL;
}
@Override
public int getEnchantmentValue() {
return 2;
}
@Override
public Ingredient getRepairIngredient() {
return Ingredient.of();
}
};
public KillStickItem() {
super(TOOL_TIER, new Item.Properties().attributes(SwordItem.createAttributes(TOOL_TIER, 4999f, -4f)));
}
}
@@ -0,0 +1,37 @@
package com.chillcog.chillcogsbackrooms.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.UseAnim;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.entity.LivingEntity;
import com.chillcog.chillcogsbackrooms.procedures.LiquidPainTriggerProcedure;
public class LiquidPainItem extends Item {
public LiquidPainItem() {
super(new Item.Properties().rarity(Rarity.RARE).food((new FoodProperties.Builder()).nutrition(2).saturationModifier(1f).alwaysEdible().build()));
}
@Override
public UseAnim getUseAnimation(ItemStack itemstack) {
return UseAnim.DRINK;
}
@Override
public int getUseDuration(ItemStack itemstack, LivingEntity livingEntity) {
return 20;
}
@Override
public ItemStack finishUsingItem(ItemStack itemstack, Level world, LivingEntity entity) {
ItemStack retval = super.finishUsingItem(itemstack, world, entity);
double x = entity.getX();
double y = entity.getY();
double z = entity.getZ();
LiquidPainTriggerProcedure.execute(world, entity);
return retval;
}
}
@@ -0,0 +1,9 @@
package com.chillcog.chillcogsbackrooms.item;
import net.minecraft.world.item.Item;
public class PlankItem extends Item {
public PlankItem() {
super(new Item.Properties());
}
}
@@ -0,0 +1,34 @@
package com.chillcog.chillcogsbackrooms.mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.Mixin;
import net.minecraft.world.level.levelgen.SurfaceRules;
import net.minecraft.world.level.levelgen.NoiseGeneratorSettings;
import net.minecraft.world.level.dimension.DimensionType;
import net.minecraft.core.Holder;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
import com.chillcog.chillcogsbackrooms.init.ChillcogsBackroomsModBiomes;
@Mixin(NoiseGeneratorSettings.class)
public class NoiseGeneratorSettingsMixin implements ChillcogsBackroomsModBiomes.ChillcogsBackroomsModNoiseGeneratorSettings {
@Unique
private Holder<DimensionType> chillcogs_backrooms_dimensionTypeReference;
@WrapMethod(method = "surfaceRule")
public SurfaceRules.RuleSource surfaceRule(Operation<SurfaceRules.RuleSource> original) {
SurfaceRules.RuleSource retval = original.call();
if (this.chillcogs_backrooms_dimensionTypeReference != null) {
retval = ChillcogsBackroomsModBiomes.adaptSurfaceRule(retval, this.chillcogs_backrooms_dimensionTypeReference);
}
return retval;
}
@Override
public void setchillcogs_backroomsDimensionTypeReference(Holder<DimensionType> dimensionType) {
this.chillcogs_backrooms_dimensionTypeReference = dimensionType;
}
}
@@ -0,0 +1,20 @@
package com.chillcog.chillcogsbackrooms.procedures;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.resources.ResourceKey;
import net.minecraft.core.registries.Registries;
import com.chillcog.chillcogsbackrooms.ChillcogsBackroomsMod;
public class LiquidPainTriggerProcedure {
public static void execute(LevelAccessor world, Entity entity) {
if (entity == null)
return;
ChillcogsBackroomsMod.queueServerWork(100, () -> {
entity.hurt(new DamageSource(world.holderOrThrow(ResourceKey.create(Registries.DAMAGE_TYPE, ResourceLocation.parse("chillcogs_backrooms:drank_liquid_pain")))), 400);
});
}
}
@@ -0,0 +1,7 @@
public net.minecraft.world.level.biome.MultiNoiseBiomeSource parameters()Lnet/minecraft/world/level/biome/Climate$ParameterList;
public-f net.minecraft.world.level.chunk.ChunkGenerator biomeSource
public-f net.minecraft.world.level.chunk.ChunkGenerator featuresPerStep
public-f net.minecraft.world.level.chunk.ChunkGenerator generationSettingsGetter
public-f net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator settings
public net.minecraft.world.level.levelgen.SurfaceRules$SequenceRuleSource
public net.minecraft.world.level.levelgen.SurfaceRules$SequenceRuleSource <init>(Ljava/util/List;)V
@@ -0,0 +1,44 @@
modLoader="javafml"
loaderVersion="[4,)"
license="All Rights Reserved"
[[mods]]
modId="chillcogs_backrooms"
version="1.0.0"
displayName="Chillcog's Backrooms"
displayURL="https://chillcog.com"
credits="Created using mod maker MCreator - https://mcreator.net/about"
authors="Kyle Speight"
# Start of user code block mod configuration
# End of user code block mod configuration
[[mixins]]
config = "chillcogs_backrooms.mixins.json"
# Start of user code block custom mixins
# End of user code block custom mixins
[[dependencies.chillcogs_backrooms]]
modId="neoforge"
type="required"
versionRange="[21.1.190,)"
ordering="AFTER"
side="BOTH"
[[dependencies.chillcogs_backrooms]]
modId="minecraft"
type="required"
versionRange="[1.21.1]"
ordering="AFTER"
side="BOTH"
[[dependencies.chillcogs_backrooms]]
modId="sharky_lib"
type="required"
versionRange="[0,)"
ordering="NONE"
side="BOTH"
# Start of user code block dependencies configuration
# End of user code block dependencies configuration
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/ballpit"
}
}
}
@@ -0,0 +1,124 @@
{
"variants": {
"facing=east,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_left"
},
"facing=east,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_left_open",
"y": 90
},
"facing=east,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_right"
},
"facing=east,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_right_open",
"y": 270
},
"facing=east,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_left"
},
"facing=east,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_left_open",
"y": 90
},
"facing=east,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_right"
},
"facing=east,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_right_open",
"y": 270
},
"facing=north,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_left",
"y": 270
},
"facing=north,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_left_open"
},
"facing=north,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_right",
"y": 270
},
"facing=north,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_right_open",
"y": 180
},
"facing=north,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_left",
"y": 270
},
"facing=north,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_left_open"
},
"facing=north,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_right",
"y": 270
},
"facing=north,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_right_open",
"y": 180
},
"facing=south,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_left",
"y": 90
},
"facing=south,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_left_open",
"y": 180
},
"facing=south,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_right",
"y": 90
},
"facing=south,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_right_open"
},
"facing=south,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_left",
"y": 90
},
"facing=south,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_left_open",
"y": 180
},
"facing=south,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_right",
"y": 90
},
"facing=south,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_right_open"
},
"facing=west,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_left",
"y": 180
},
"facing=west,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_left_open",
"y": 270
},
"facing=west,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_bottom_right",
"y": 180
},
"facing=west,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_bottom_right_open",
"y": 90
},
"facing=west,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_left",
"y": 180
},
"facing=west,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_left_open",
"y": 270
},
"facing=west,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/black_door_top_right",
"y": 180
},
"facing=west,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/black_door_top_right_open",
"y": 90
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/carpet"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/carpet_level_4"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/ceiling"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/concrete"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/concrete_pillar"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/crate"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/dark_pool_tiles"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/darkened_concrete"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/false_clouds"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/false_stars"
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/fun_flooring"
},
"facing=east": {
"model": "chillcogs_backrooms:block/fun_flooring",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/fun_flooring",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/fun_flooring",
"y": 270
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/fun_green_wool"
},
"facing=east": {
"model": "chillcogs_backrooms:block/fun_green_wool",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/fun_green_wool",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/fun_green_wool",
"y": 270
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/hotel_carpet"
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/hotel_carpet_corner"
},
"facing=east": {
"model": "chillcogs_backrooms:block/hotel_carpet_corner",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/hotel_carpet_corner",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/hotel_carpet_corner",
"y": 270
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/hotel_carpet_corner_2"
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge"
},
"facing=east": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge",
"y": 270
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge_2"
},
"facing=east": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge_2",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge_2",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/hotel_carpet_edge_2",
"y": 270
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/hotel_carpet_inner_corner"
},
"facing=east": {
"model": "chillcogs_backrooms:block/hotel_carpet_inner_corner",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/hotel_carpet_inner_corner",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/hotel_carpet_inner_corner",
"y": 270
}
}
}
@@ -0,0 +1,19 @@
{
"variants": {
"facing=north": {
"model": "chillcogs_backrooms:block/hotel_carpet_middle"
},
"facing=east": {
"model": "chillcogs_backrooms:block/hotel_carpet_middle",
"y": 90
},
"facing=south": {
"model": "chillcogs_backrooms:block/hotel_carpet_middle",
"y": 180
},
"facing=west": {
"model": "chillcogs_backrooms:block/hotel_carpet_middle",
"y": 270
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/level_4_ceiling"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/level_4_wall"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/light"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/light_off"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/light_scarlet_wall"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/manila_carpet"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/manila_ceiling"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/manila_wallpaper"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/paradisal_grass"
}
}
}
@@ -0,0 +1,16 @@
{
"variants": {
"axis=x": {
"model": "chillcogs_backrooms:block/paradisal_log",
"x": 90,
"y": 90
},
"axis=y": {
"model": "chillcogs_backrooms:block/paradisal_log"
},
"axis=z": {
"model": "chillcogs_backrooms:block/paradisal_log",
"x": 90
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/pool_tiles"
}
}
}
@@ -0,0 +1,124 @@
{
"variants": {
"facing=east,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_left"
},
"facing=east,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_left_open",
"y": 90
},
"facing=east,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_right"
},
"facing=east,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_right_open",
"y": 270
},
"facing=east,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_left"
},
"facing=east,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_left_open",
"y": 90
},
"facing=east,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_right"
},
"facing=east,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_right_open",
"y": 270
},
"facing=north,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_left",
"y": 270
},
"facing=north,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_left_open"
},
"facing=north,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_right",
"y": 270
},
"facing=north,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_right_open",
"y": 180
},
"facing=north,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_left",
"y": 270
},
"facing=north,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_left_open"
},
"facing=north,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_right",
"y": 270
},
"facing=north,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_right_open",
"y": 180
},
"facing=south,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_left",
"y": 90
},
"facing=south,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_left_open",
"y": 180
},
"facing=south,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_right",
"y": 90
},
"facing=south,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_right_open"
},
"facing=south,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_left",
"y": 90
},
"facing=south,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_left_open",
"y": 180
},
"facing=south,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_right",
"y": 90
},
"facing=south,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_right_open"
},
"facing=west,half=lower,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_left",
"y": 180
},
"facing=west,half=lower,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_left_open",
"y": 270
},
"facing=west,half=lower,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_bottom_right",
"y": 180
},
"facing=west,half=lower,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_bottom_right_open",
"y": 90
},
"facing=west,half=upper,hinge=left,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_left",
"y": 180
},
"facing=west,half=upper,hinge=left,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_left_open",
"y": 270
},
"facing=west,half=upper,hinge=right,open=false": {
"model": "chillcogs_backrooms:block/red_door_top_right",
"y": 180
},
"facing=west,half=upper,hinge=right,open=true": {
"model": "chillcogs_backrooms:block/red_door_top_right_open",
"y": 90
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "chillcogs_backrooms:block/red_fun_carpet"
}
}
}
Loaded 100 of 390 files, more files were not shown because too many files have changed in this diff. Show more