SHA256
first commit
This commit is contained in:
commit
1744fcefa0
390 files changed
+5835
No files matched your search
@@ -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
@@ -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/
|
||||
@@ -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'
|
||||
@@ -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
|
||||
@@ -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
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
+20
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
+19
@@ -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
Reference in new issue
Block a user